Solr查询不返回预期结果

时间:2013-05-21 16:50:22

标签: java solr solrj

我的Solr服务器引用事件,包含各种文本字段(事件名称,描述,关键字......),当然还有开始日期和结束日期。

当我启动以下查询时:

http://xxxxxxxxxxx/viparis-solr-server/150/spell?q=foire&wt=json

我收到28个事件,其中所有事件都在其中一个索引文本字段中包含“foire”一词。

但如果我提出以下问题:

http://xxxxxxxxxxx/viparis-solr-server/150/spell?q=foire%20%2BdateFin:[NOW%20TO%20*]&wt=json

我得到100个事件(“dateFin”在法语中表示“endDate”),所有这些事件都有今天或今天之后的结束日期,但并非所有事件都在其中一个索引文本字段中包含单词“foire”。

我如何设法合并这两个标准,以便只获取包含单词“foire”的事件,并在今天之后结束日期?

1 个答案:

答案 0 :(得分:2)

solr的默认查询运算符是OR。您可以执行以下操作之一来获取您期望的AND行为:

  • &q.op=AND添加到您的请求中
  • 在搜索字词前放置一个+,告诉Solr将它们包括在内。
  • 将finDate用作filter query

您可以从SolrQuerySyntax页面获取更多详细信息。