2015-10-07 146 views
-1

所有領域比方說,我有以下文件:彈性搜索查詢與名稱

{ 
    "name" : "abc", 
    "something" : { 
     "url" : "asd" 
    } 
} 

{ 
    "name" : "abc", 
    "something-else" : { 
     "url" : "asd" 
    } 
} 

是否有可能創建一個查詢,這將要求任何字段url = asd所有文件?

+0

您的描述並不詳盡。什麼是文件的映射?任何'url'應該等於'asd'或者兩個urls應該等於'asd'?你有沒有嘗試過任何東西? –

+0

@AndreiStefan我已更新我的問題 –

+0

您可以使用[multi_match](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html# _literal_fields_literal_and_per_field_boosting):'{ 「查詢」:{ 「multi_match」:{ 「查詢」: 「無所謂」, 「田」: 「*的.url」] }} } ' –

回答

1

試試這個:

GET /index/type/_search 
{ 
    "query": { 
    "multi_match": { 
     "query": "asd", 
     "fields": ["*.url"] 
    } 
    } 
} 

query_string

GET /index/type/_search 
{ 
    "query": { 
    "query_string": { 
     "fields": ["*.url"], 
     "query": "asd" 
    } 
    } 
} 
+0

我可以在查詢字符串中使用它嗎? –

+0

我告訴過你沒有提供全部圖片。 –

0

您可以使用should過濾器:

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "match_all": {} 
     }, 
     "filter": { 
     "bool": { 
      "should" : [ 
      { "term": { "something.url": "asd" }}, 
      { "term": { "something-else.url": "asd" }} 
      ] 
     } 
     } 
    } 
    } 
} 
+0

注意,有他的示例文檔中有兩個「url」字段。 – Val

+0

與文件不匹配else -url –

+0

謝謝,我更新了我的答案。 – Maroun