Мышление sphinx/mysql для нетекстового поиска

Если у меня есть поиск, который имеет категорию (внешний ключ) и необязательный текст, должен ли я использовать мыслящего сфинкса для «поиска», где строка поиска не была отправлена, только категория?


person mark    schedule 10.03.2010    source источник


Ответы (1)


Это действительно зависит от вашего варианта использования. Предположим, например, что у вас есть сообщения в блоге, и они имеют категории a, b и c.

Если вы хотите, чтобы на сайте yoursite.com/a/ отображались все сообщения в категории a в порядке от самых новых к самым старым, то, вероятно, не лучшая идея использовать для этого sphinx/search. Это будет простой запрос к базе данных, возможно, с разбиением на страницы.

Однако, предположим, вы хотите, чтобы на этой странице были перечислены все сообщения с этой категорией или сообщения, которые могут относиться к этой категории в соответствии с текстом, а также, возможно, сообщения с тегами, относящимися к этой категории. В этом случае, вероятно, лучше всего использовать поисковую систему, такую ​​как sphinx, для управления этой страницей. Поисковая система будет намного быстрее, если эквивалентный запрос к базе данных будет очень дорогим.

person Apreche    schedule 10.03.2010
comment
Привет и спасибо за ваш ответ. Первый описанный вами сценарий — это случай, когда пользователь переходит к категории. Затем они вводят строку поиска и/или выбирают многие теги. Я просто действительно задавался вопросом о перемещении категории среди тегов и последовательном поиске, выполняемом сфинксом, будь то текст или нет. Мне потенциально нужно, чтобы элементы имели много категорий, и это обеспечило бы большую гибкость. Сравнительно, sphinx медленнее, чем mysql для нетекстового поиска? Еще раз спасибо. - person mark; 11.03.2010
comment
Полнотекстовый поиск во многом уступает MySQL в производительности sphinx и другим поисковым системам (Lucene, Xapian, Solr). - person Greg K; 11.03.2010