以下查询适用于我
http://[]:8983/solr/vault/select?q=VersionComments%3AWhite
返回版本注释包含白色
的所有文档我尝试省略字段名称并将其作为默认值,如下所示: 在solr配置中我写
<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">PackageName</str>
<str name="df">Tag</str>
<str name="df">VersionComments</str>
<str name="df">VersionTag</str>
<str name="df">Description</str>
<str name="df">SKU</str>
<str name="df">SKUDesc</str>
</lst>
我重新启动solr并创建一个完整的导入 然后我尝试使用
http://[]:8983/solr/vault/select?q=White
(其中
http://[]:8983/solr/vault/select?q=VersionComments%3AWhite
仍然有效)
但是我没有把文件作为答案 我做错了什么?
答案 0 :(得分:11)
据我所知,您应该只在<str name="df"></str>
requestHandler
通常我所做的就是将我要搜索的所有字段复制到名为text
的默认搜索字段中。
schema.xml中:
<copyField source="name_t" dest="text"/>
solrconfig.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="q">*:*</str>
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
</requestHandler>
如果这还不够好,您可以随时使用dismax
搜索使用qf
声明搜索其他字段,如下所示:
http://localhost:8983/solr/vault/select/?q= White&defType=dismax&qf=PackageName+Tag+VersionComments+VersionTag+Description+SKU+SKUDesc