gpt4 book ai didi

elasticsearch - elasticsearch 中匹配查询是否区分大小写?

转载 作者:行者123 更新时间:2023-11-29 02:49:35 32 4
gpt4 key购买 nike

我遵循了 here 中的示例

索引的映射是

{
"mappings": {
"my_type": {
"properties": {
"full_text": {
"type": "string"
},
"exact_value": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}

被索引的文档是

{
"full_text": "Quick Foxes!",
"exact_value": "Quick Foxes!"
}

我注意到在“全文”字段上使用简单的匹配查询时,如下所示

{
"query": {
"match": {
"full_text": "quick"
}
}
}

我看到文档是匹配的。此外,如果我使用大写字母“QUICK”作为搜索词,则表明文档匹配。

为什么会这样?默认情况下,分词器会将“full_text”字段中的文本拆分为“quick”、“foxes”。那么匹配查询如何匹配大写值的文档呢?

最佳答案

因为您没有指定将哪个分析器用于索引映射中的“full_text”字段,所以使用默认分析器。默认值为“Standard Analyzer”。

引自 ElasticSearch 文档:

An analyzer of type standard is built using the Standard Tokenizer with the Standard Token Filter, Lower Case Token Filter, and Stop Token Filter.

在您的索引中执行查询之前,ElasticSearch 会将为您的字段配置的相同分析器应用于您的查询值。因为默认分析器在其处理过程中使用小写标记过滤器,所以使用“Quick”或“QUICK”或“quick”会给你相同的查询,因为分析器会通过使用 Lower 将它们小写Case Token 过滤器和结果只是“快速”。

关于elasticsearch - elasticsearch 中匹配查询是否区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35254395/

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