Wednesday, December 15, 2010

Developing a search engine

I'm trying to make a search engine with my database, parsing de text
that the user write in the textbox to make a list with the cleaned
words, in just one table of the DB in the fields: title, descripcion
and tags, I have something like this but I don't know how to finish
it:


from django.http import HttpResponse
from django.shortcuts import render_to_response
from myproject.parsing.models import Stores
from pyparsing import *
from django.db.models import Q

def search_form(request):
return render_to_response('search_form.html')

def search(request):
errors= []
if 'q' in request.GET:
q = request.GET['q']
if not q:
errors.append('Write something')
else:
qclean= parseText(q)
for Word in qclean:
Foundstores = Stores.objects.filter(Q(name__icontains=Word) |
Q(description__icontains=Word) | Q(tags__icontains=Word))

#But remeber that I have more than one word,
so I need to concatenate all the querysets of each one of the words in
qclean

return render_to_response('search_results.html', {'Found':
Foundstores, 'query': qclean})

return render_to_response('search_form.html', {'errors': errors})

def parseText(texto):
parser=OneOrMore(Word(alphas))
#articles in spanish
arreglo=("de","en","la")
for articulo in arreglo:
parser.ignore(CaselessLiteral(articulo))
salida=parser.parseString(texto)
return salida

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate