这是我在有效载荷嵌套字段类别上搜索的索引的映射
{
"mappings": {
"date_detection": false,
"properties": {
"@class": {
"type": "keyword"
},
"id": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"payload": {
"type": "nested",
"properties": {
"@class": {
"type": "keyword"
},
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
},
"category": {
"type": "keyword"
},
"value": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
这是我的索引映射,每当我试图在弹性搜索中使用更像这个查询的对象时,它不会返回任何对象,
**我正在搜索对象列表
**查询是
{
"query": {
"more_like_this": {
"fields": [
"payload.category"
],
"like": [
"ASSEST"
],
"min_term_freq": 1,
"max_query_terms": 12
}
}
}
它不返回任何对象,但值存在于弹性搜索中
我只想搜索弹性搜索中出现的类似对象值,更像这个查询
但Payload实际上是有归档类别的对象列表,我需要根据它找到类似的对象
对于嵌套字段,请使用嵌套查询
GET <index-name>/_search
{
"query": {
"nested": {
"path": "payload",
"query": {
"more_like_this": {
"fields": [
"payload.category"
],
"like": [
"assest doc"
],
"min_term_freq": 1,
"max_query_terms": 12
}
}
}
}
}
同时查找min_doc_freq
输入文档中的术语将被忽略的最小文档频率。默认值为5。
如果您有少于5个匹配文档集"min_doc_freq";至1