【发布时间】:2020-04-21 13:41:30
【问题描述】:
您好,我们希望同时支持一个归档类别的部分搜索和完全匹配。
这是 category 的映射,我们通过 fields.raw
实现了这一点"category": {
"properties": {
"name": {
"type": "string",
"analyzer": "autocomplete",
"search_analyzer": "standard",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
一切都按预期工作,我可以进行精确搜索和部分搜索。 但是当我在数据中有字符逗号“,”时,完全匹配不起作用。 我正在搜索 category.name.raw,它是 not_analyzed 归档的
{ "query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "",
"type": "cross_fields",
"fields": [
"filed1",
"field2^12"
]
}
},
{
"match": {
"category.name.raw": " Poverty, Poor and Hunger"
}
}
]
}
}
}}}
我没有得到任何结果,我不确定我做错了什么,请帮我解决这个问题。 提前致谢
【问题讨论】:
-
你使用的是哪个版本的 ES,
string在最新版本中已弃用。a -
@OpsterElasticsearchNinja 我们使用的是旧版本 2.X,此版本不支持关键字数据类型
-
@OpsterElasticsearchNinja 2.4.4 是版本
标签: elasticsearch elasticsearch-query