Во-первых, позвольте мне сказать, что я знаю, что http://sphinxsearch.com/docs/current.html#conf-sql-attr-string говорит, что «строки могут использоваться только для хранения и извлечения» и что «Они не могут участвовать в выражениях, использоваться для фильтрации, сортировки или группировки»...
Сказав, что, используя Sphinx 2.0.2, получая доступ к индексу через интерфейс SQL (на порту 9306), а также через SphinxSE, я могу сортировать, по крайней мере, по строковому атрибуту.У меня есть.
Так что, хотя это не обязательно означает, что документация полностью неверна, у меня остается небольшая надежда, что я тоже смогу фильтровать по этому строковому атрибуту.* К сожалению, я не знаю, могу ли я, и если я могу, я не знаю, как.
Может кто-нибудь здесь, пожалуйста, избавить меня от моих страданий?
[EDIT]
Атрибут 'mail_street_name', и я попытался отфильтровать его несколькими способами.Пытаясь отфильтровать 'box', например, в строке запроса SphinxSE, я пробовал filter=mail_street_name,box
, filter=mail_street_name,"box"
и filter=mail_street_name,\'box\'
(экранированный, потому что он находится внутри строки).Эти запросы не приводят к изменению набора результатов (как будто я вообще не пытался фильтровать этот атрибут).
При подключении MySQL к порту 9306 я пробовал WHERE mail_street_name='box'
, WHERE mail_street_name="box"
, WHERE mail_street_name=box
и использование LIKE
вместо =
, и все должны получить синтаксическую ошибку (Ошибка 1064 (42000)) от SphinxQL.
Большое спасибо.