スパンクエリではない
他のスパンクエリと重なるマッチや、他のSpanQueryの前にxトークン(パラメータpre
で制御)または後にyトークン(パラメータpost
で制御)にあるマッチを削除します。以下はその例です:
Python
resp = client.search(
query={
"span_not": {
"include": {
"span_term": {
"field1": "hoya"
}
},
"exclude": {
"span_near": {
"clauses": [
{
"span_term": {
"field1": "la"
}
},
{
"span_term": {
"field1": "hoya"
}
}
],
"slop": 0,
"in_order": True
}
}
}
},
)
print(resp)
Ruby
response = client.search(
body: {
query: {
span_not: {
include: {
span_term: {
"field1": 'hoya'
}
},
exclude: {
span_near: {
clauses: [
{
span_term: {
"field1": 'la'
}
},
{
span_term: {
"field1": 'hoya'
}
}
],
slop: 0,
in_order: true
}
}
}
}
}
)
puts response
Js
const response = await client.search({
query: {
span_not: {
include: {
span_term: {
field1: "hoya",
},
},
exclude: {
span_near: {
clauses: [
{
span_term: {
field1: "la",
},
},
{
span_term: {
field1: "hoya",
},
},
],
slop: 0,
in_order: true,
},
},
},
},
});
console.log(response);
コンソール
GET /_search
{
"query": {
"span_not": {
"include": {
"span_term": { "field1": "hoya" }
},
"exclude": {
"span_near": {
"clauses": [
{ "span_term": { "field1": "la" } },
{ "span_term": { "field1": "hoya" } }
],
"slop": 0,
"in_order": true
}
}
}
}
}
include
およびexclude
のクローズは、任意のスパンタイプのクエリである可能性があります。include
クローズはフィルタリングされるマッチを持つスパンクエリであり、exclude
クローズは返されたマッチと重ならない必要があるスパンクエリです。
上記の例では、laが前にあるものを除いて、hoyaという用語を持つすべてのドキュメントがフィルタリングされます。
他のトップレベルオプション:
pre |
設定されている場合、含まれるスパンの前のトークンの量は除外スパンと重複できません。デフォルトは0です。 |
post |
設定されている場合、含まれるスパンの後のトークンの量は除外スパンと重複できません。デフォルトは0です。 |
dist |
設定されている場合、含まれるスパン内のトークンの量は除外スパンと重複できません。pre とpost の両方を設定することと同等です。 |