2009-06-09 124 views
4

我剛開始着眼於使用Solr作爲我的搜索Web服務。我不知道是否Solr的支持這些查詢類型:Solr查詢語法

  • Startswith
  • 完全匹配
  • 沒有包含
  • 範圍
莫非

導人我如何在Solr中實現這些功能?

乾杯, Samnang

回答

7

Solr的是能夠所有這些事情,但充分地解釋如何做到每一次的答案將成爲一個迷你手冊Solr的。

我建議你閱讀從Solr homepage鏈接的實際手冊和教程。

簡而言之:

Startswith可以使用Lucene通配符實現。

只有當字段沒有被標記時才能找到完全匹配。即整個領域被視爲一個單一的標誌。

包含是默認的搜索格式。即對「John」的搜索將查找其搜索字段包含值「John」的任何文檔。用 - (例如「 - 約翰」前綴只會查找不包含John的文檔)。

範圍(它們是日期還是整數)是可能的而且非常強大,示例日期:[* TO NOW]將查找其日期不在將來的任何文檔。

+0

這裏所描述的「圍堵」的解決方案僅適用於單個單詞,而不是子短語。例如。 「約翰史密斯」中的「約翰」將起作用,「我的名字是約翰史密斯」中的「約翰史密斯」不會。 – mils 2016-05-26 08:02:31