2013-04-30 4 views
0

У меня есть веб-сервис, который возвращает результаты автозавершения jquery.Возможная альтернатива предложению LIKE в конкретной ситуации

Для запроса я должен использовать четыре полномасштабные как положения

LIKE('%SOME_TERM%') 

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

База данных высоко оптимизирована с индексами и даже с предложениями LIKE, возвращающими результаты запроса с несколькими объединениями, а с одной из таблиц, имеющей 200 000 строк, занимает первое место в начале цикла 0,2 или 0,3 секунды. После его кэширования сервером, очевидно, время, затраченное на то, является минимальным.

Мне было интересно, есть ли что-нибудь еще, что стоит попробовать здесь. Я просмотрел некоторые автономные поисковые провайдеры, но я немного осторожен в этом проекте (почти готовый и готовый к запуску), поэтому не может позволить себе большие настройки или масштабное время рефакторинга и финансирование.

Возможно, что это так хорошо, как только получает, но не наносит вреда, позволяя SO сказать, что это мое отношение.

ответ

0

Я думаю, что apache solr - это путь к вам. Для полнотекстового поиска. http://lucene.apache.org/solr/

Но, как вы сказали, если у вас мало времени, и вы уверены, что ваши запросы выполняются в лучшем виде. Я не вижу многого, что вы можете сделать.

+0

Да, я тоже думал об этом. Я смотрел на Солра, но его избыток к требованиям в этом случае я считаю. Спасибо за совет. Всего наилучшего. – jiraiya

Смежные вопросы