2016-07-22 45 views
0

是否可以結合more_like_this和聚合來獲得類似的文件並將它們分組?我可以在Elasticsearch中做到嗎?more_like_this和羣組由

{ 
    "size": 12, 
    "query": { 
    "filtered": { 
     "query": { 
     "more_like_this": { 
      "fields": [ 
      "summary_text", "description.orig" 
      ], 
      "docs": [ 
      { 
       "_id": "9753" 
      }enter code here 
      ], 
      "min_term_freq": 1, 
      "max_query_terms": 12 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "by_product_class": { 
     "terms": { 
     "field": "product_class_id" 
     } 
    } 
    } 
} 

回答

0

是的。在Elasticsearch 2.3您匯聚應該是這個樣子:

{ 
    "size": 12, 
    "query": { 
    "more_like_this": { 
     "fields": ["summary_text", "description.orig"], 
     "like": [{ 
      "_index": "youIndex", 
      "_type": "yourType", 
      "_id": "9753" 
     }], 
     "min_term_freq": 1, 
     "max_query_terms": 12 
    } 
    }, 
    "aggs": { 
    "by_product_class": { 
     "terms": { 
     "field": "product_class_id" 
     } 
    } 
    } 
} 

您可以指定"like"陣列中的多個文檔,甚至定義使用"doc": {"field1": x, "field2": y, ...}飛文檔。 This是一個很好的參考。