0
must_notとfilterの違いはelasticsearchにあるのですか?elasticsearchのmust_notとfilterの相違
など。ここでは(elasticsearch definitive guideから)、範囲にmust_notも使用されていないのですか?
{
"bool": {
"must": { "match": { "title": "how to make millions" }},
"must_not": { "match": { "tag": "spam" }},
"should": [
{ "match": { "tag": "starred" }}
],
"filter": {
"range": { "date": { "gte": "2014-01-01" }}
}
}
}
は、具体的に
this documentationを見て、彼らがまったく同じであることを私に表示されます。
フィルタ:節(クエリー)のドキュメントをマッチングして表示される必要があります。ただし、クエリのスコアを無視する必要はありません。フィルタ句はフィルタコンテキストで実行されます。つまり、スコアリングは無視され、句はキャッシュ用に考慮されます。
must_not:句(クエリ)は、一致するドキュメントには使用できません。句はフィルタコンテキストで実行され、スコアリングは無視され、句はキャッシュに考慮されます。得点は無視されるため、すべての文書のスコアが0になります。
基本的には、スコアリングは不要ですが、must_not =!must(または!filter) – Val
私はそれも考えましたが、2番目の文書では、filterとmust_notの両方がスコアなしでフィルタコンテキストで実行されます。 – schneida
ドキュメントは検索から除外され、スコアリングすることができないので、must_notにスコアリングを使用するのは意味がありません – Val