gpt4 book ai didi

Elasticsearch - 仅索引对象的一部分

转载 作者:行者123 更新时间:2023-12-02 22:20:54 24 4
gpt4 key购买 nike

是否可以仅索引 elasticsearch 中对象的一部分? ?

示例:

$ curl -XPUT 'http://localhost:9200/test/item/1' -d '
{
"record": {
"city": "London",
"contact": "Some person name"
}
}

$ curl -XPUT 'http://localhost:9200/test/item/2' -d '
{
"record": {
"city": "London",
"contact": { "phone": "some-phone-number", "name": "Other person's name" }
}
}

$ curl -XPUT 'http://localhost:9200/test/item/3' -d '
{
"record": {
"city": "Oslo",
"headquarters": { "phone": "some-other-phone-number",
"address": "some address" }
}
}

我只希望城市名称是可搜索的,对象的所有剩余部分我都希望保持未编入索引且完全任意。例如,某些字段可以将其类型从对象更改为对象。
是否可以编写允许这种行为的映射?

更新

我的最终解决方案如下所示:
{
"test": {
"dynamic": "false",
"properties": {
"name": {
"type": "string"
}
}
}
}

我在映射的最低级别添加了 "dynamic": "false",它按预期工作。

最佳答案

您可以通过禁用整个类型或仅内部对象记录的动态映射来实现这一点:

"mappings": {
"doc": {
"properties": {
"record": {
"type": "object",
"properties": {
"city": {"type": "string"}
},
"dynamic": false
}
}
}
}

关于Elasticsearch - 仅索引对象的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595129/

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