2016-11-30 62 views
0

我想刪除匹配查詢中相關性最低的文檔。除了得分t之外,還有其他方式可以做到嗎?刪除匹配查詢中相關性最低的文檔

使用案例:

假設我們有: -

指數:辦公室 文檔類型:員工 後(場):帳戶官員,客戶經理,會計師,總ACC等,這是不同的文檔。

現在我在「post」字段中的所有文檔的匹配查詢中搜索「account」。

假設上面的文檔中「post」字段的「主要acc」值是「最不相關的」。

我想排除搜索結果列表中那些非常不相關的匹配項。

我嘗試了使用結果評分,但我認爲這是不可行的。除了得分之外,還有其他方法可以實現嗎?

回答

0

是的,你可以有你的查詢中過濾查詢做到這一點:

POST _search 
{ 
    "query":{ 
     "filtered":{ 
     "filter":{ 
      "not":{ 
       "term":{ 
        "post":"chief acc" 
       } 
      } 
     } 
     } 
    } 
} 

如果您在使用ES 5.0,你必須使用must_not過濾器,而不是not

"must_not" : { 
     "term" : { "post" : "chief acc" } 
     } 

也許你也可以看看SO。希望能幫助到你!