索引和查询唯一键URL Solr

时间:2012-09-11 08:45:57

标签: solr lucene

我索引了一系列存档网站,以便使用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

查询分析器告诉我,我的查询应该匹配:

screenshot solr analysis

有谁知道为什么这不起作用?我非常感谢我能得到的任何暗示!非常感谢你们!

1 个答案:

答案 0 :(得分:2)

fq=url:whitehouse.gov过滤应该有效。

但是我看到了查询q=content:Barack+Obama的问题 你的默认搜索字段是什么? 删除查询组件并使用q=*:*返回结果。 ??

q=content:Barack+Obama查询实际上会产生content:barack defaultsearchfield:obama之类的查询 由于默认搜索字段不具有obama,因此不会产生任何结果。