2014-12-23 47 views
2

在我的應用程序中,我發出多個查詢,其中每個查詢都到不同的索引。然後,我合併這些查詢的結果,並使用_score屬性對它們進行排序,以便根據它們的相關性對它們排序。但是我不知道這是否有意義,因爲結果來自不同的查詢?可以從不同的查詢中進行比較?

我想我的問題是:能不能將_score從不同的查詢中進行比較?

回答

2

而不是發出多個查詢,它是一個好主意,他們在一起查詢一起。 您可以使用索引查詢來執行索引specefic操作。

因此,像

{ 
    "bool": { 
    "should": [ 
     { 
     "indices": { 
      "indices": [ 
      "index1" 
      ], 
      "query": { 
      "term": { 
       "tag": "wow" 
      } 
      } 
     } 
     }, 
     { 
     "indices": { 
      "indices": [ 
      "index2" 
      ], 
      "query": { 
      "term": { 
       "name": "laptop" 
      } 
      } 
     } 
     } 

    ] 
    } 
} 

一旦這樣做了,結果將基於該_score排序。 希望有所幫助。