On 13/04/10 09:04, urukay wrote:
Hi,
I'm trying to create full text search on model, everything goes fine
when
searching TextFields but I have a problem with ForeignKey field.
How can i do that? Can anyone point me to the right direction?
Do you mean you want the results for Model2 searches to include Model2
instances when when a search string matches text in any of the Model1
instances related to the Model2 instance?
If you're don't actually need sphinx in particular but rather you are
looking for the ability to full-text search django models, then
http://haystacksearch.org/ makes adding search facilities to django
projects extremely easy. With haystack and the handily-pure-python
whoosh, you can be up and running basic searches of your django models
in a matter of minutes. In the case of the foreign key field, with
haystack, you could just include texts from related Model1s in the
search template for Model2. That's of course a tad wasteful in some
ways, but OTOH might be exactly what you want.
I don't use django-sphinx so I'm not clear how to do it there, but
a conceptually related approach does work with raw sphinx apparently:
you can use joins in sql_query in your source declarations. see this:
http://stackoverflow.com/questions/1733816/sphinx-and-one-to-many-associations
[Obviously, you could also search multiple times for a given search
string submission and then do joins on the various results yourself,
though that could get painful fast.]
Full text search isn't appropriate for everything, so django-filters is
also handy to remember for filter query-building type stuff.
http://github.com/alex/django-filter
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.