我创建了一个名为“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>
答案 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