、コメントスパムの答えのために申し訳ありませんそれを投稿するには長すぎる:/
私はそれを使用最小値を持つフィルタは、non reを処理するために一致する必要があります文脈に応じて「関連性のない」単語を使用して、自分自身の単語を使用することができます。
例は、次の文アーティストインデックスとアートワークの指標で見ていると、ユーザーに検索の最も適切なレンダリング:
"An artwork blue"
artwork
はアーティストで検索するには、関連する単語ではありませんユーザーが "アートワーク"という名前のアーティストを探している場合を除き、インデックス(これは伝記、コメントなどのノイズに似ていますが、意味がありません)。
アーティストインデックスのための私のフィルタは次のように(方法より複雑な方法で)見て:それは動的に構築されています(ダイナミック最小値が一致している必要がありますし)し、いくつかのケースでは、すべてのフィールドを除外することができたよう
{
"query": {
"bool": {
"should": [{
"query": {
"bool": {
"should": [{
"match": {
"name": "An"
}
}, {
"match": {
"biography": "An"
}
}]
},
"minimum_should_match": "100%"
}
},
{
"query": {
"bool": {
"should": [{
"match": {
"name": "artwork"
}
}, {
"match_none": {
}
}]
},
"minimum_should_match": "100%"
}
},
{
"query": {
"bool": {
"should": [{
"match": {
"name": "blue"
}
}, {
"match": {
"biography": "blue"
}
}]
},
"minimum_should_match": "100%"
}
}
],
"minimum_should_match": "100%"
}
}
}
が、私はmatch_noneを使って「シンプル」(単語ごとに1つのエントリ)を保ち、明らかにアートワークである検索からアーティストを除外しました。
ニースの例@Julien TASSIN。 '{" match_none ":{}'をスキップすると同じことが達成できますか? – Datageek