gpt4 book ai didi

elasticsearch - 在 Elasticsearch 中进行搜索查询时,如何忽略双斜杠?

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

例如,在 flex 搜索文档中,字符串存储为\\(\\ log_4(3x ^ 2 + 11x)= 1 \\)
我要使其工作的搜索查询是(log_4(3x ^ 2 + 11x)= 1)。
使这项工作最好的方法是什么?

最佳答案

您可以使用pattern_replace char filter,它可以用\\替换empty string,以下是工作示例。
使用pattern_replace字符过滤器使用自定义分析器进行索引设置

{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"filter": [
"lowercase"
],
"char_filter": [
"my_char_filter"
],
"type": "custom",
"tokenizer": "whitespace"
}
},
"char_filter": {
"my_char_filter": {
"type": "pattern_replace",
"pattern": "\\\\(.*?)",
"replacement": ""
}
}
}
}
}
分析API
{
"analyzer": "my_analyzer",
"text": "\\(\\log_4(3x^2+11x)=1\\)"
}
生成的 token
{
"tokens": [
{
"token": "(log_4(3x^2+11x)=1)",
"start_offset": 1,
"end_offset": 22,
"type": "word",
"position": 0
}
]
}

关于elasticsearch - 在 Elasticsearch 中进行搜索查询时,如何忽略双斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62605895/

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