gpt4 book ai didi

elasticsearch - 更改ElasticSearch中连字符的解释方式

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

我有一个包含名称的字段,该名称具有以下结构<name>-<version>(例如foo-1.0)。

我有以下分析器配置:

"settings": {
"index": {
"analysis": {
"analyzer": {
"default": {
"type": "snowball",
"language": "English"
}
}
}
}

以及以下映射:
"itemName": {
"type": "multi_field",
"fields": {
"itemName": {
"type": "string",
"index": "analyzed"
},
"untouched": {
"type": "string",
"index": "not_analyzed"
}
}
},

我希望能够搜索 foo-1.0而不必引用它。根据用户的反馈,这是他们希望能够执行的操作,但是不幸的是, foo-1.0被解释为 foo NOT 1.0。我知道连字符与 NOT等效,但是我天真的认为只有在前面加一个空格(例如 foo -1.0)时,它才会这样做。有没有一种方法可以配置elasticsearch来停止将连字符解释为NOT,或者在没有空格前缀时停止在连字符上拆分?还是可以通过分析仪影响的东西?

我不知道这是否会影响答案,但我也希望能够在同一查询中搜索其他字段。例如。类似于 foo-1.0 OR bar

非常感谢您的帮助。

格雷厄姆。

最佳答案

您可以使用反斜杠-(或使用JSON双反斜杠\时)转义\\
搜索

"foo\\-1.0"

关于elasticsearch - 更改ElasticSearch中连字符的解释方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930573/

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