我是Elasticsearch的初学者,我正在尝试使用span_near子句(搜索到的查询位于第一位的文档的得分必须高于搜索到的搜索位于第二位的文档)。我正在使用Elasticsearch 7。
我试过这个:
{
"query": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"query_string": {
"query": "chaudiere",
"default_operator": "OR",
"analyzer": "french",
"fields": [
"name"
],
"type": "cross_fields",
"lenient": true,
"fuzziness": "AUTO:10,20"
}
}
]
},
"must": {
"span_near": {
"slop": 2,
"in_order": false,
"clauses": [
{
"span_multi": {
"match": {
"fuzzy": {
"label": {
"value": "chaudiere",
"fuzziness": "AUTO"
}
}
}
}
}
]
}
}
}
],
"filter": [
{
"bool": {
"must": [
{
"term": {
"store_uid": 1
}
},
{
"bool": {
"should": [
{
"bool": {
"must_not": [
{
"term": {
"life_cycle": "FDS"
}
}
]
}
},
{
"bool": {
"must": [
{
"term": {
"life_cycle": "FDS"
}
},
{
"bool": {
"should": [
{
"bool": {
"must": [
{
"range": {
"stock": {
"gt": 0
}
}
}
]
}
},
{
"bool": {
"must": [
{
"range": {
"stock_delivery": {
"gt": 0
}
}
}
]
}
}
]
}
}
]
}
}
]
}
}
],
"must_not": [
{
"term": {
"is_base": true
}
},
{
"term": {
"is_replaced": true
}
}
]
}
}
]
}
}
}
但我有这个信息
[bool] malformed query, expected [END_OBJECT]
你知道为什么吗?
谢谢你的帮助