我目前正在使用 sunspot gem 在我的 Rails 应用程序中实现全文搜索。通过 Sunspot/Solr 在我的网站上进行的查询正在运行并返回正确的结果。但是,当我尝试使用 Solr 管理页面进行查询时,我很难显示结果。使用查询字符串*:*
我可以显示索引数据库中包含的所有结果,但无法进行正确的查询。如果我尝试使用除*:*
, 例如test
,没有返回结果,我只剩下:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">21</int>
<lst name="params">
<str name="explainOther"/>
<str name="fl">*,score</str>
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">test</str>
<str name="hl.fl"/>
<str name="qt"/>
<str name="wt"/>
<str name="fq"/>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
<result name="response" numFound="0" start="0" maxScore="0.0"/>
</response>
使用字符串进行相同的查询:test
在实际的 Rails 应用程序上返回超过 100 个结果。
如何使 Solr 管理页面中的查询返回与 Rails 应用程序中的查询相同的项目?
*:*
基本上会搜索所有字段上的所有内容,因此匹配所有文档。
您在 Rails 应用程序中搜索哪个字段?
默认情况下,通过 Solr admin 的查询在默认搜索字段 (schema.xml) 上触发。
<defaultSearchField>text</defaultSearchField>
尝试将 solr 上触发的查询更改为特定字段,例如q=some_field:test
并检查结果是否返回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)