Google любит автоподсказку с помощью Solr

В настоящее время я использую Solr с компонентом условий и Jquery Autosuggest, который работает очень хорошо. Однако эта конструкция ограничена одним словом автоподсказки (она автоматически дополняет только первое слово). Можно ли реализовать автозаполнение, подобное Google, с несколькими словами/терминами, чтобы я мог автозаполнять несколько слов?


person svenkubiak    schedule 06.08.2010    source источник


Ответы (4)


Вы также можете использовать SpellCheckComponent для лучшего автозаполнения.

Подробнее см. на странице http://wiki.apache.org/solr/Suggester.

Изменить: см. здесь для solr5 и выше.

person Matej    schedule 01.12.2011
comment
У Solr Suggester есть ограничение, заключающееся в том, что он может получить только одно поле документа, из которого было получено предложение. Поэтому используйте его только в том случае, если это ограничение не является препятствием в вашем случае использования. В качестве альтернативы автозаполнение реализуется с использованием Ngrams в поле, а затем поиск в том же поле. - person Nikhil Sahu; 19.10.2015

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

person javanna    schedule 16.02.2012
comment
Можете ли вы обновить ссылку, так как она больше не работает. - person Nikhil Sahu; 14.10.2015

Проверьте это, это может помочь

http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/

person Tomas    schedule 23.08.2010

Я решал ту же задачу, в конце концов решил ее с помощью TerminalsComponent с несколькими полями. проверьте эту ссылку. http://lucene.472066.n3.nabble.com/auto-completion-search-with-solr-using-NGrams-in-SOLR-td3998559i20.html

person AnilJayanti    schedule 03.10.2012