gpt4 book ai didi

elasticsearch - 如何在包含空格的字段上设置一个not_analyized的字段?

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

我在Elasticsearch索引中有一个“成绩”字段,其中包含文本和数字。我已将字段映射设置为'not_analyized',但是我无法搜索===='Year 1'。

我已经阅读了文档的finding exact values部分,但它似乎对我不起作用。

创建索引。

curl -XPUT http://localhost:9200/my_test_index

创建映射模板。
curl -XPUT http://localhost:9200/_template/my_test_index_mapping -d '
{
"template" : "my_test_index",
"mappings" : {
"my_type": {
"properties": {
"grade": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
'

创建一些文档。
curl -XPUT 'http://localhost:9200/my_test_index/my_type/1' -d '{
"title" : "some title",
"grade" : "Year 1"
}'

curl -XPUT 'http://localhost:9200/my_test_index/my_type/3' -d '{
"title" : "some title",
"grade" : "preschool"
}'

查询“Year 1”将返回0个结果。
curl -XPOST http://localhost:9200/my_test_index/_search -d '{ 
"query": {
"filtered" : {
"filter" : {
"term": {
"grade": "Year 1"
}
}
}
}
}'

查询“学前类”将返回1个结果。
curl -XPOST http://localhost:9200/my_test_index/_search -d '{ 
"query": {
"filtered" : {
"filter" : {
"term": {
"grade": "preschool"
}
}
}
}
}'

检查映射和“等级”字段不会显示“not_analyzed”。
curl -XGET http://localhost:9200/my_test_index/_mapping

{
"my_test_index" : {
"mappings" : {
"my_type" : {
"properties" : {
"grade" : {
"type" : "string"
},
"title" : {
"type" : "string"
}
}
}
}
}
}

最佳答案

该模板将仅影响新创建的索引。

创建模板后,重新创建索引。

或者,在创建索引时指定映射,而不是依赖模板到单个索引。

关于elasticsearch - 如何在包含空格的字段上设置一个not_analyized的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544512/

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