Простая задача схемы Solr для автозаполнения - PullRequest
3 голосов
/ 23 сентября 2010

У меня очень простая таблица SQL, которую я хочу импортировать в Solr, но из-за функций, которые я хочу найти, я не могу определить лучшую схему.

Пользователь начнет вводить данные в поле ввода и после 3 символов отправит запрос на сервер и извлечет наиболее релевантные результаты, возвращая 15 лучших идентификаторов и имя.

Таблица ex)

id | name
----------------
1 | boating magazines
2 | boats weekly
3 | boaters collection
4 | shipping lane
5 | ships today

Поиск и ожидаемый возврат ex)

boa | [1, boating magazines], [2, boaters weekly], [3, boaters collection] 
boat | [1, boating magazines], [2, boaters weekly], [3, boaters collection], [4, shipping lane], [5, ships today]
shi | [4, shipping lane], [5, ships today]
ship | [1, boating magazines], [2, boaters weekly], [3, boaters collection], [4, shipping lane], [5, ships today]
boating | [1, boating magazines], [2, boaters weekly], [3, boaters collection], [4, shipping lane], [5, ships today]

(очевидно, они будут возвращены как XML)

Буду признателен за любую информацию о том, как мне этого добиться. Спасибо.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

Вы можете реализовать это, используя facet.prefix , TermsComponent или NGrams .

В одной из этих статей также показано, как связать его с помощью jQuery, или вы можете использовать ajax-solr .

Кстати, конкретный автозапрашивающий компонент должен быть включен в следующую версию Solr.

0 голосов
/ 23 сентября 2010

что вы хотите точно знать?

, если ваш вопрос, как получить ваши данные там?Самый простой способ - это публикация XML-файлов ....

как вы определяете свой schema.xml?вам не нужно, есть предопределенные подстановочные поля для строк, они заканчиваются на _s, я думаю.

как вы формируете запрос? ... также просто, как myfield_string:"boa*"

очевидно, XML?Зачем?json меньше и так же хорош для этой цели!

Вы проверили официальный учебник?http://lucene.apache.org/solr/tutorial.html

Вы хотите сделать автозаполнение для слов или целых документов?

сначала очень просто.Solr даже имеет свой оптимизированный обработчик для этого.проверьте этот урок: http://www.mattweber.org/2009/05/02/solr-autosuggest-with-termscomponent-and-jquery/

второй становится более интересным.Что делать, если кто-то печатает «коллекция лодок» или что-то в этом роде?Я лично рекомендовал бы использовать обработчик dismax с подстановочным знаком в конце для автозаполнения.тогда слова находятся в логическом ИЛИ соединении, и незавершенное слово сопоставляется в начале ...

...