これは、this questionの後続の質問です。私はスペルチェッカーを実装したい都市のリストを持っています。私はこれらの都市の優先順位/重みを持っています。私はcitycode、パイプ分離ペイロード文字列として国などのような他の属性を渡していますFileDictionaryFactoryによってstoreDirが作成されても、suggesterでデータを取得できませんでした
<city-name> <TAB> <weight> <TAB> <other parameters like citycode,country>
:私は次の形式をベースとしてFileDictionaryFactoryとsolrsuggesterを実装してみました。
ここに私のsolrconfigが
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="field">name</str>
<str name="weightField">searchscore</str>
<str name="suggestAnalyzerFieldType">string</str>
<str name="buildOnStartup">false</str>
<str name="sourceLocation">spellings.txt</str>
<str name="storeDir">autosuggest_dict</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
<str name="suggest.dictionary">mySuggester</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
と私のスキーマ
<field name="name" type="string" indexed="true" stored="true" multiValued="false" />
<field name="countrycode" type="string" indexed="true" stored="true" multiValued="false" />
<field name="latlng" type="location" indexed="true" stored="true" multiValued="false" />
<field name="searchfield" type="text_ngram" indexed="true" stored="false" multiValued="true" omitNorms="true" omitTermFreqAndPositions="true" />
<uniqueKey>id</uniqueKey>
<defaultSearchField>searchfield</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
<copyField source="name" dest="searchfield"/>
だ今、私が直面しています問題は、私はそれぞれ、すべての検索クエリに対して0の結果を取得しています。私はstoreDirが作成されるのを見ることができますが、データが入ったbinファイルが自分のペイロードデータのように見えます。
- storeDirの作成が何を意味しない:
これは私がそう
/suggest?suggest=true&suggest.dictionary=mySuggester&wt=json&suggest.q=cologne
を使用していますURL形式ですが、私は次のような質問がありますか?インデックスに登録されていますか?
- はいの場合、クエリに何が問題なのですか?いいえ、私はここに何かを紛失していますか?(indexPath ???)
- ペイロードフィールドに検索パラメータを入力するのは正しい方法ですか?いいえ、他の方法はありますか?