Я хочу создать коллекцию с автопредложением в Solr, я попробовал за одно слово работать нормально, но я ищу фразы, например, если мы наберем «Barack», в его случае должны появиться «Барак», «Барак Обама», «Президент Барака Обамы США ".Как настроить solr (4.10) для автоматического предложения нескольких слов?
У меня есть 6 полей, но я хочу дать предложение только для одной поданной (i.e..Content), как настроить schema.xml и solr config.xml в соответствии с этими полями. Я попробовал массу примеров, но это не сработало для меня! Есть ли какое-то простое решение для этого? Любая помощь будет оценена! Спасибо заранее.
Спасибо Amit за ответ, я пытался что также, но не получил, что я искал мой schema.xml, как это я хочу предложение на моем поле Содержания и мой Solr конфигурация приведена ниже!
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="Content" type="suggest_phrase" indexed="true" stored="true" />
<field name="Lang" type="string" indexed="true" stored="true" />
<field name="PubDate" type="tdate" indexed="true" stored="true" />
<field name="Section" type="string" indexed="true" stored="true" />
<field name="PaperName" type="string" indexed="true" stored="true" />
<field name="Page_No" type="tint" indexed="true" stored="true" />
<fieldType name="suggest_phrase" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<!-- search content -->
<searchComponent name="suggest_phrase" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">suggest_phrase</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FSTLookup</str>
<str name="field">suggest_phrase</str>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_phrase">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest_phrase</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.collate">false</str>
</lst>
<arr name="components">
<str>suggest_phrase</str>
</arr>
</requestHandler>
Привет, Аман, как вы сказали, я пробовал с Shinglefilterfactory, но не получил то, что искал! любое другое решение? –