Search 如何在apachesolr中创建一个Catch-all复制字段?
使用Search 如何在apachesolr中创建一个Catch-all复制字段?,search,solr,Search,Solr,使用Schema下的Solr-admin界面,我试图创建一个搜索所有其他字段的catch-all-Copy字段 当输入*作为源和搜索作为目标时,管理界面返回: 处理命令时出错 如何创建搜索所有其他字段的“捕获所有副本”字段?在您的schema.xml中,可以有以下字段: <field name="destination" type="text" indexed="true" stored="true" required="false"/> <field name="count
Schema
下的Solr-admin界面,我试图创建一个搜索所有其他字段的catch-all-Copy字段
当输入*
作为源
和搜索
作为目标
时,管理界面返回:
处理命令时出错
如何创建搜索所有其他字段的“捕获所有副本”字段?在您的
schema.xml
中,可以有以下字段:
<field name="destination" type="text" indexed="true" stored="true" required="false"/>
<field name="country" type="text" indexed="false" stored="true" required="false" />
<field name="city" type="text" indexed="false" stored="true" required="false" />
<field name="state" type="text" indexed="false" stored="true" required="false" />
或者您也可以使用类似的内容作为源字段
<field name="destination" type="text" indexed="true" stored="true" required="false"/>
<field name="country" type="text" indexed="false" stored="true" required="false">
<field name="city" type="text" indexed="false" stored="true" required="false" />
<copyField source="*_y" dest="destination"/>
完整的错误消息是什么?
<field name="destination" type="text" indexed="true" stored="true" required="false"/>
<field name="country" type="text" indexed="false" stored="true" required="false">
<field name="city" type="text" indexed="false" stored="true" required="false" />
<copyField source="*_y" dest="destination"/>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>