gpt4 book ai didi

elasticsearch - 带空格的短语中的通配符/正则表达式

转载 作者:行者123 更新时间:2023-12-03 00:01:35 27 4
gpt4 key购买 nike

创建一个索引:
在这里我使用edge_ngram

PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "edge_ngram",
"min_gram": 3,
"max_gram": 3,
"token_chars": [
"letter",
"digit"
]
}
}
}
},
"mappings": {
"my_type": {
"properties": {
"city": {
"type": "keyword",
"fields": {
"raw": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
}
}

}





POST my_index/my_type/1
{
"text": "2 #Quick Foxes lived and died"
}

POST my_index/my_type/2
{
"text": "2 #Quick Foxes lived died"
}

现在,当我们搜索
GET my_index/my_type/_search
{
"query": {
"query_string": {
"default_operator" : "AND",
"query" : "f* d*",
"fields": ["text.raw"]
}
}
}

仅列出ID 2。但是什么也没有返回。

当你尝试这个
GET my_index/my_type/_search
{
"query": {
"query_string": {
"default_operator" : "AND",
"query" : "f* d*",
"fields": ["text"]
}
}
}

它将同时返回。

如果我们有一个包含大量数据的索引,并且想要搜索通配符,我们将如何做?

单个关键字可以使用,但是如果我们添加示例中提到的短语,则不会给您任何适当的结果。

最佳答案

要生成正则表达式,您可以访问以下网站:

在这里生成正则表达式-http://buildregex.com/

并使用从此处生成的表达式https://regex101.com/测试您的字符串

关于elasticsearch - 带空格的短语中的通配符/正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558349/

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