我为使用 solr 查询的存档网站集编制了索引。作为唯一键,我使用网站的 URL。我想做的是在过滤查询中使用 url 字段,以便在需要时将搜索限制在某个域。例如,我想查询“Barack Obama”,但将结果限制为“whitehouse.gov”域。对我来说听起来像是一个非常基本的用例,但是在 URL 字段上的搜索根本不会返回任何结果。这是我的配置(schema.xml):
.
.
.
<field name="collection" type="string" indexed="true" stored="true"/>
<field name="content" type="text_de" indexed="true" stored="true" multiValued="true"/>
<field name="date" type="string" indexed="true" stored="true"/>
<field name="digest" type="string" indexed="true" stored="true"/>
<field name="length" type="string" indexed="true" stored="true"/>
<field name="segment" type="string" indexed="true" stored="true"/>
<field name="site" type="string" indexed="true" stored="true"/>
<field name="title" type="text_de" indexed="true" stored="true" multiValued="true"/>
<field name="type" type="string" indexed="true" stored="true"/>
<field name="url" type="text_en_splitting" indexed="true" stored="true"/>
.
.
.
<!-- Field to use to determine and enforce document uniqueness.
Unless this field is marked with required="false", it will be a required field
-->
<uniqueKey>url</uniqueKey>
这是我的查询(简化):
http://mysolrserver.com:8983/solr/select/?q=content:Barack+Obama&fq=url:whitehouse.gov
查询分析器告诉我,我的查询应该匹配:
有谁知道为什么这不起作用?我非常感谢我能得到的任何提示!非常感谢各位!!