2014-09-24 135 views
0

我正在學習彈性搜索查詢。我不明白這個查詢:彈性搜索字詞和條件

{ 
    "term" : { "user" : { "term" : "kimchy", "boost" : 2.0 } } 
} 

我讀過這篇文章,但目前還不清楚: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-term-query.html

1 - 什麼是第二個「術語」?
2-增壓的用法是什麼?
3-如何使用條款或條款有這個疑問:
了一場名爲「標題」必須包含「KEY1」和「KEY2」或「KEY3」和「KEY4」

回答

3
  1. 首先term是查詢的類型。第二個term是此查詢的參數。

  2. 提升是用來做這個查詢比默認的更相關,如果你有幾個查詢(默認補償值是1.0)

  3. 有幾種方法來實現這一目標。其中一個是query_string,另一個是bool查詢。這裏是QUERY_STRING的例子:

{ 
    "query_string" : { 
     "default_field" : "user", 
     "query" : "(key1 AND key2) OR (key3 AND key4)" 
    } 
} 
+0

如果'user'場進行了分析,這種查詢可以不依賴於'key1','key2','key3'和'key4'工作價值觀,如果他真的想與術語合作。也許用'term'查詢的布爾查詢可能是「更安全」的。除此之外,很好的答案! – ThomasC 2014-09-24 08:40:01