我不知道为什么我的 copyField 不起作用。这是我的架构:
<field name="name" type="text_name" indexed="true" stored="true" multiValued="true"/>
<copyfield source="name" dest="nameSuggest"/>
<field name="nameSuggest" type="textNamePhrase" stored="true" multiValued="true" indexed="true"/>
<fieldType class="solr.TextField" name="textNamePhrase" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_name" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.ApostropheFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.ApostropheFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我有建议设置来对 nameSuggest 字段提出建议。如果我上传我的文档并保留 copyField 标签,则该建议不起作用(没有结果返回)。但是,如果我删除并上传两个字段的数据:name 和 nameSuggest(客户端复制这些字段),那么它的建议工作。
你能告诉我的copyField有什么问题吗?如何知道 nameSuggest 字段是否已填充?我看不到它从我的查询中返回。
谢谢,