我想知道Elasticsearch是否有可能排除查詢是單個詞的查詢?我試圖使用「minimum_should_match」作爲2,當查詢有2個或更多的術語時,這很好用。但是,如果查詢中的術語數爲1,ES仍然會返回結果。看來ES使用的邏輯是「你要求最少匹配兩個詞,但只有一個詞匹配;我們將最小值降到1」。有沒有辦法關閉這個功能,或以其他方式做我正在尋找的?Elasticsearch:排除只有一個詞的查詢
對於那些想知道爲什麼不能在API級別完成的問題,我正在使用排除停用詞的查詢分析器。所以像「a ipad」這樣的查詢最終會成爲1期,而API將會看到2. API可以做stopword過濾,但這似乎是浪費資源。
似乎就像在文檔中一樣:「(即:無論計算結果的結果多麼低或多高,所需匹配的最小數量永遠不會低於1或大於子句的數量)」。似乎也許minimum_should_match不是我所需要的這 – mrquintopolous
你到底在看什麼?minimum_clause或minimum_terms?你能提供幾份文件嗎? – ChintanShah25
究竟是minimum_clause還是minimum_terms?谷歌搜索什麼都沒有。我喋喋不休地說,「在搜索之前,查詢中需要超過x個條件」。我會提供文件,但他們實際上並沒有任何關係。 minimum_should_match參數運行良好。當設置爲2時,2個查詢條件必須與要返回的文檔相匹配。但是這隻有在查詢中有2個或更多項時纔有效!當查詢中有一個術語時,ES仍然匹配文檔。 – mrquintopolous