2015-12-01 2 views
0

У меня есть индекс, который имеет несколько разных атрибутов.Возможно ли, какие атрибуты были сопоставлены в наборе результатов Sphinx?

MySQL [(none)]> select * FROM products_index WHERE MATCH('red shoes');

Это возвращает кучу результатов. Магия. Любовь Сфинкса.

Теперь, можно ли узнать, какой атрибут Sphinx соответствует каждому из этих результатов?

Например, у меня есть «цветное» поле, которое «красный» будет соответствовать (потенциально), но оно также может совпадать с атрибутом имени продукта.

+0

Возможно, вам понадобится ваша терминология. ** Атрибуты ** НЕ сопоставляются «MATCH()» - запрос совпадает с ** полями **. Различие важно. – barryhunter

ответ

0

Я думаю PACKEDFACTORS() это единственный способ сделать это http://sphinxsearch.com/docs/current.html#expr-func-packedfactors

это немного громоздким, чтобы использовать, и добавляет немного накладных расходов на запрос, но он должен работать.

(кроме ссылок на совпадение, например, с использованием фрагментов)

+0

Отлично, спасибо! Я проверю это – infomaniac