Apache Solr或Lucene邻近搜索多个字段

时间:2013-10-11 15:10:05

标签: solr lucene nosql

在solr / lucene中是否可以搜索不同的多值字段? 想象一下,有一个像这样的XML片段:

<normative>
 <ref><aut>State</aut><num>70</num>><year>2007</year><article>13</article></ref>
 <ref><aut>TreasuryMinistry</aut><num>350</num><year>2011</year><article>21</article></ref>
</normative>

是否可以检索包含例如的文档:     数量:70和年份:2007年 在同一个ref里面? 即,不应该找到像这样的查询的文档     num:70 AND year:2011。

我可以创建像

这样的链接字段
   <ref cat='state-0070-2007-0013'/>
   <ref cat='TreasuryMinistry-0350-2011-0021'/>

但用户必须能够找到每个字段组合,即         数和年,         年和文章,         num和article,         aut和num and year, 在同一个参考! 我对solr / lucene没有经验,所以我担心像

这样的外卡搜索
cat:'*-0070-2007-*'

不能胜过我们的规范性文件语料库。

有没有办法根据相对位置进行搜索? 比如将copyField用于具有不同positionincrementGaps的多值字段?

1 个答案:

答案 0 :(得分:0)

不直接回答您的邻近问题,但您可以将每个视为文件吗?如果是这样,那么像'num:70 AND year:2007'这样的搜索应该可以正常工作,假设您创建'num'和'year'字段。