Solr架构中的复制字段不起作用

时间:2018-09-16 19:17:14

标签: solr

这是复制字段的schema.xml文件实现

<copyField source="UniversityName" dest="_text_"/>
<copyField source="UniversityName" dest="_text_"/>
<copyField source="UniversityLocation" dest="_text_" maxChars="256"/>
<copyField source="UniversityWebLink" dest="_text_" maxChars="256"/>
<copyField source="DegreeLink" dest="_text_" maxChars="256"/>
<copyField source="UniversityName" dest="_text_" maxChars="256"/>
<copyField source="DegreeName" dest="_text_" maxChars="256"/>
<copyField source="UniversityType" dest="_text_" maxChars="256"/>
<copyField source="ProgramType" dest="_text_" maxChars="256"/>
<copyField source="ProgramTypeLink" dest="_text_" maxChars="256"/>
<copyField source="ProgramCatagory" dest="_text_" maxChars="256"/>
<copyField source="FacultyName" dest="_text_" maxChars="256"/>
<copyField source="FacultyLink" dest="_text_" maxChars="256"/>
<copyField source="Email" dest="_text_" maxChars="256"/>
<copyField source="ContactPerson" dest="_text_" maxChars="256"/>

这是默认搜索字段的config.xml实现

 <requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
     will be overridden by parameters in the request
  -->
<lst name="defaults">
  <str name="echoParams">explicit</str>
  <int name="rows">10</int>
  <!-- Default search field-->
     <str name="df">_text_</str> 

我在solr中修改了我的收藏集的scema.xml文件和配置文件。但是复制字段不起作用,为什么?解决办法是什么? 当我直接在config.xml文件中提供字段名称时,它就起作用了。

1 个答案:

答案 0 :(得分:1)

这是发生此类问题时的清单。请检查。

  1. 确保已保存所有已编辑的配置文件,然后重新加载Core或重新启动服务器。
  2. 检查源字段是否具有数据?
  3. 然后重新索引数据,看看是否获得结果。
  4. 确保源字段本身未从任何其他复制字段获取数据。 因为Solr将不支持链接。这是Solr文档的参考。
  

复制是在流源级别完成的,没有任何副本供入   另一个副本。这意味着复制字段无法链接,即您   无法从此处复制到其他地方。   但是,可以将同一源字段复制到多个目标   字段:

<copyField source="here" dest="there"/> <copyField source="here" dest="elsewhere"/>.

  1. 如果您希望在目标字段上看到复制的内容,请在schema.xml上将目标字段存储的属性值设置为true,然后重新加载core,然后索引并查看。它可以帮助您了解使用copyfield时到底发生了什么。就我们而言,数据是否填充在目标字段中。

希望这会有所帮助。

谢谢。