фильтрация по строковым атрибутам sphinx - PullRequest
0 голосов
/ 04 февраля 2011

Есть ли способ использовать фильтрацию со строковыми атрибутами в sphinx?

Ответы [ 4 ]

2 голосов
/ 26 октября 2011

Да, есть возможность фильтрации по строковым атрибутам.

Например, у вас есть поле author_name.Выполните следующие действия в PHP:

$sphinx->SetMatchMode ( SPH_MATCH_EXTENDED2 )
$sphinx->Query('@author_name "Mark Twain" ', 'myindex');

Этот код найдет все документы, которые содержат "Mark Twain" в поле author_name.

Я использую двойные кавычки для поиска точной строки.

2 голосов
/ 04 февраля 2011

Ответ "Нет"

См. сообщение на форумах Sphinx

1 голос
/ 18 декабря 2014

Да, это возможно.

В запросе sphinx mysql конвертируем значение поля в crc32

SELECT crc32(field_name) as field_name FROM table

и добавьте поле

sql_attr_uint = field_name

чем при создании фильтра запросов по контрольной сумме crc32

$sphinx->SetFilter ( 'field_name', array(crc32($string_value)) );
$sphinx->Query('something', 'myindex');

Это сработало для меня.

0 голосов
/ 14 февраля 2011

Спасибо, я нашел интересный обходной путь в думающем сайте сфинкса, может быть, он кому-нибудь пригодится http://freelancing -god.github.com / ts / en / common_issues.html # string_filters

...