gpt4 book ai didi

elasticsearch - 有没有办法在不更改现有文档的情况下使Elasticsearch不区分大小写?

转载 作者:行者123 更新时间:2023-12-02 22:09:51 33 4
gpt4 key购买 nike

Elasticsearch是否允许我们查询不区分大小写的文档?还是应该在查询之前将它们另存为不区分大小写?还是我应该为整个索引设置一些设置以使其不区分大小写?

你能澄清一下这一刻吗?

最佳答案

默认情况下,由于应用了映射弹性,因此字段不区分大小写。

请尝试以下方法:

PUT myindex/doc/1
{
"name":"TEST"
}

GET myindex/_mapping

它应该返回:
{
"myindex": {
"mappings": {
"doc": {
"properties": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}

现在,如果您使用下面的查询,它将返回一个匹配项(注意映射[文本和关键字]):
POST myindex/_search
{
"query": {
"match": {
"name2": "test"
}
}
}

现在,如果您明确指定将字段索引为 keyword,那么它将区分大小写。尝试下面看看;它不会返回任何结果。
PUT myindex/_mapping/doc
{
"properties": {
"name2": {
"type": "keyword"
}
}
}

PUT myindex/doc/1
{
"name2":"TEST"
}


POST myindex/_search
{
"query": {
"match": {
"name2": "test"
}
}
}

TLDR;使用默认映射或 text类型-如果您指定的字段仅索引 keyword类型,则区分大小写。

关于elasticsearch - 有没有办法在不更改现有文档的情况下使Elasticsearch不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51069213/

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