在schema.xml中定义但在运行时丢失的solr字段

时间:2013-12-05 11:25:16

标签: xml solr

我创建了一个名为“searchme”的字段(最终将用作查询的catch-all字段),然后使用/ select的requestHandler中的“df”参数将其设置为默认搜索字段。

然而,首先我注意到当我查看Solr Dashboard和Schema Browser时,在模式中看不到字段本身。我没有看到任何与该字段加载相关的错误,但它不能用作搜索字段。

这有点奇怪,我无法在网上找到任何解决方案,因此发布。

我正在使用Solr 4.5.1。请帮忙/建议。谢谢!

我的schema.xml(包含字段定义和copyFields标记)

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="name" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="category1" type="string" indexed="true" stored="true" required="false" multiValued="false" />
    <field name="category2" type="string" indexed="true" stored="true" required="false" multiValued="false" />
    <field name="category3" type="string" indexed="true" stored="true" required="false" multiValued="false" />
    <field name="content" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="_version_" type="long" indexed="true" stored="true"/>
    <field name="searchme" type="string" indexed="true" stored="true" required="true" multiValued="true" />

...

   <copyField source="id" dest="searchme"/>
   <copyField source="name" dest="searchme"/>
   <copyField source="category1" dest="searchme"/>
   <copyField source="category2" dest="searchme"/>
   <copyField source="category3" dest="searchme"/>
   <copyField source="content" dest="searchme"/>

我的solrconfig.xml(包含df参数)

<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>
      <str name="df">searchme</str>
    </lst>
</requestHandler>

1 个答案:

答案 0 :(得分:2)

如果您没有通过Solr仪表板看到此字段,则表示您没有更改正确的schema.xml文件,并且您将无法使用新字段。确保您位于正确的文件夹中(例如:solr-4.5.1 \ example \ solr \ collection1 \ conf)。

要检查文件夹,请转到仪表板并单击CoreAdmin选项卡(例如:http://yourhost:yourport/solr/#/~cores/collection1)并检查instanceDir值(默认情况下:C:\ Installs \ solr-4.5.1 \ example \ solr \ collection1 \ )转到该文件夹​​并查找conf \ schema.xml