sajgak
@sajgak

Sphinx выбор из результатов по значению атрибута?

Доброго времени.

Возникла необходимость при поиске учитывать значение опредленного строкового атрибута (не путать с полем). Тоесть выбирать только те результаты, строковой атрибут которых равен заданному значению.


В документацию последней версии смотрел, ничего не увидел. Буду благодарен за любую подсказку.


Спасибо
  • Вопрос задан
  • 4843 просмотра
Пригласить эксперта
Ответы на вопрос 4
Shedar
@Shedar
Исходя из вашего описания, Вам скорее нужно проиндексировать этот атрибут как текстовое поле, с включенным режимом индексации точной формы слова и при поиске искать точное вхождение по этому полю.
В целом сфинкс оптимизирован для полнотекстового поиска, так что даже числовые высокоселективные атрибуты Андрей Аксенов на одной из конференций рекомендовал заменять спец. ключевыми словами, поскольку поиск по атрибутам идет фулсканом.
Ответ написан
Комментировать
Yanovsky
@Yanovsky
Нужно применить метод setFilter(string $attributeName, array $values, boolean $exclude);

Правда фильтрация возможна только по целочисленным значениям. Как вариант вычислять crc32 от строки и записывать как дополнительный атрибут
Ответ написан
@flypigs
Гляньте тут sphinxsearch.com/forum/view.html?id=5710
И вообще, форум у сфинкса полон всяческих решений
Ответ написан
@niko83
если я правильно понял то вот это нужно
sphinxsearch.com/docs/current.html#conf-sql-attr-string
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы