Интро
Давненько я ничего не писал. Очень много работы. Вот выдалась свободная минуточка и хочется сказать еще пару слов за Django.
Пара слов
Я уже писал поисковом движке Sphinx:Sphinx - настоящее быстрого поиска и использовании его в php-проектах.
А вот как происходит работа с замечательным “поисковиком” в Django:
описываем модель, и добавляем пару строчек для менеджера поиска
from djangosphinx import SphinxSearch
class City(models.Model):
name = models.CharField(max_length=32)
slug = models.SlugField(blank=True)
country = models.ForeignKey(Country)
state = models.ForeignKey(State, blank=True, null=True)
class Meta:
unique_together = (('country', 'state', 'slug'), ('country', 'state', 'name'))
db_table = 'cities'
search = SphinxSearch(
index='cities', # defaults to cities either way
weights={ # individual field weighting, this is optional
'name': 100,
'aliases': 90,
}
)
И все!
Но на этом вкусности не заканчиваются. Нам даже конфиг для Сфинкса писать не нужно - мы его сгенерируем автоматом:
# ./manage.py generate_sphinx_config cities >> sphinx.conf
Собственно поиск будет выглядеть, так:
results = City.search.query('new york')
Более подробно можно почитать в блоге David Cramer’s: Setting up Django and Sphinx Full-text Search (django-sphinx).







Я кстати не заморачиваюсь по поводу СфинксКлиентов, а юзаю SphinxSE.
сфинкс - сила :)