アプリケーションでオートサジェスト / オートコンプリート フィールドを取得したいのですが、それを文字列フィールドで取得できますが、特に間隔のある言葉。
とりあえず私のリクエストはq=cleared_keywords:piso\%20e*&facet=on&facet.field=cleared_keywords&facet.sort=result_count&facet.mincount=1&version=2.2&start=0&rows=0&indent=on&facet.limit=10
私のスキーマは次のとおりです。
<fields>
<field name="id" type="integer" indexed="true" stored="true" required="true"/>
<field name="country" type="string" indexed="true" stored="true" required="true"/>
<field name="city_id" type="integer" indexed="true" stored="true" required="false"/>
<field name="ad_type" type="integer" indexed="true" stored="true" required="true"/>
<field name="keywords" type="text" indexed="true" stored="true" required="true"/>
<field name="result_count" type="sint" indexed="true" stored="true" required="true"/>
<field name="hash" type="integer" indexed="true" stored="true" required="true"/>
<field name="cleared_keywords" type="string" indexed="true" stored="true" required="false"/>
<field name="keywords_score" type="sfloat" indexed="true" stored="true" required="true"/>
<field name="sorted_keywords" type="string" indexed="true" stored="true" required="true"/>
<field name="links_to" type="integer" indexed="true" stored="true" multiValued="true"/>
<field name="keywordsAsSuggestion" type="string" indexed="true" stored="true" />
<dynamicField name="random*" type="rand" indexed="true" stored="true"/>
<copyField source="keywords" dest="keywordsAsSuggestion" />
</fields>
テキスト (キーワード) フィールドで同じクエリを実行しても、テキストが原因で機能しません。copyField の仕組みがわかりません。インデックスを再読み込み/再作成する必要がありますか?
「インデックスの再作成」ステップをスキップしたかったのですが、それができない場合は、すべての Solr ドキュメントをロードし、キーワード テキスト フィールド値を持つ文字列フィールドを使用して新しいドキュメントを再作成します ... 私はその考えが好きではありません.
よろしく、
アレクシス