gpt4 book ai didi

elasticsearch - Elasticsearch返回无与伦比的结果

转载 作者:行者123 更新时间:2023-12-02 23:28:49 25 4
gpt4 key购买 nike

我是ELasticsearch的新手,在ES为分析字段返回无与伦比的结果方面,需要您的帮助。
我有一个自定义分析器,如下所示:

 "analyzer": {
"testing_analyzer": {
"type": "custom",
"char_filter": "html_strip",
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding",
"snowball",
"stop"
]
},
"testing_search_analyzer": {
"type": "custom",
"char_filter": "html_strip",
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding"
]
}
}

我已将此分析器设置为同时在索引和搜索中进行如下操作的字段。
"name":
{
"type": "string",
"analyzer": "testing_analyzer",
"search_analyzer": "testing_search_analyzer"
}

但是当搜索名称“universitàdi bologna”时,它返回的第一个结果记录具有相同的匹配项,但其他一些记录却不匹配(以下结果中的第二个记录):

记录1:
 [ "Università di Bologna", "University of Bologna", "CNR", "Università di Pisa", "University of Pisa", "Mineraria e Delle Tecnologie Ambientali" ]

记录2:
[ "University of Salerno", "Università di Salerno" ]

查询:
 {
"fields": [
"doc_id",
"name"
],
"query": {
"match": {
"name": "Università di bologna"
}
}
}

有帮助吗?

最佳答案

结果是预期的。
默认情况下,匹配查询对tokenizer生成的 token 进行“或”运算。

尝试将查询更改为以下内容:

{
"fields": [
"doc_id",
"name"
],
"query": {
"match": {
"name": {
"query": "Università di bologna",
"operator": "and"
}
}
}
}

关于elasticsearch - Elasticsearch返回无与伦比的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39085484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com