我是DSL和im的新手,使用下面的json查询:
{
"from": 0,
"min_score": 0.5,
"query": {
"bool": {
"filter": [
{
"terms": {
"extension": [
"bmp",
"jpg",
"tif",
"img",
"png",
"gif",
"jpeg"
]
}
},
{
"terms": {
"userContentType": [
"webpage"
]
}
},
{
"terms": {
"language": [
"en",
"gen"
]
}
},
{
"terms": {
"metaLanguage": [
"en"
]
}
}
],
"should": [
{
"multi_match": {
"fields": [
"title",
"description^5",
"partNumber",
"guid",
"metaId",
"keywords"
],
"lenient": true,
"query": "technology"
}
}
]
}
},
"size": 50,
"sort": [
{
"userContentType.keyword": {
"order": "desc"
}
},
{
"_score": {
"order": "desc"
}
}
]
}但是我没有得到任何结果。但是,如果我去掉其中一个术语,说“extension”或“userContentType”,它就可以正常工作,并且我会得到预期的结果。我认为这与在过滤器中使用多个术语有关,但不确定为什么这也会导致问题。我试着去掉'should‘和'min_score’,但没有什么不同。
任何帮助都将不胜感激。
索引映射:
{
"mappings": {
"properties": {
"Id": {
"type": "long"
},
"applicationName": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"content": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"createdDate": {
"type": "date"
},
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"extension": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"industryCategoryIdentifiers": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"keywords": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"language": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"metaLanguage": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"pageId": {
"type": "long"
},
"productLineCategoryIdentifiers": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"updatedDate": {
"type": "date"
},
"url": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"userContentType": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}发布于 2021-09-15 15:40:45
根据您的映射,您需要使用keyword子字段,如下所示:
{
"terms": {
"extension.keyword": [
"bmp",
"jpg",
"tif",
"img",
"png",
"gif",
"jpeg"
]
}
},
{
"terms": {
"userContentType.keyword": [
"webpage"
]
}
},https://stackoverflow.com/questions/69195342
复制相似问题