我想在我的应用程序中获得一个自动建议/自动完成字段,并且我可以在字符串字段上获得它,但是分面或查询在文本字段上不像在字符串字段上那样“工作”,特别是间隔词。
现在我的要求是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 文档并使用带有关键字文本字段值的字符串字段重新创建新文档……我只是不喜欢这个想法.
问候,
亚历克西斯