2013-05-21 222 views
0

我的Solr服務器引用具有各種文本字段(事件名稱,說明,關鍵字...)的事件,當然還有開始日期和結束日期。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」指的是法國「結束日期」),它們都與今天或今天的結束日期,但不是全部其中一個索引文本字段中包含單詞「foire」。

我該如何設法合併2條標準,以便僅獲取包含單詞「foire」的事件並在今天之後有結束日期?

+2

查詢應該是q = foire&fq = dateFin:[NOW TO *] – Jayendra

回答

2

solr的默認查詢操作符是OR。你可以做下列操作之一,以獲得和行爲,你期待:

  • 在搜索詞前面加&q.op=AND您的要求
  • 放置一個+告訴Solr的,包括他們兩人。
  • 使用finDate作爲filter query

您可以從SolrQuerySyntax頁面中獲得更多詳細信息。

+0

'http:// xxxxxxxxxxx/viparis-solr-server/150/spell?q = foire%20%2BdateFin:[NOW%20TO%20 * ]&q.op = AND&wt = json'也不起作用。 –

+0

正如我建議以及@Jayendra,嘗試使用dateFin作爲篩選器查詢。 –

+0

過濾器查詢完成了這項工作。謝謝! –