当前位置: 首页 > 面试题库 >

如何在Elasticsearch中更新字段类型

邢永安
2023-03-14
问题内容

ElasticSearch文档尚不清楚如何执行此操作。

我索引了一些推文,其中一个字段created_at被索引为字符串而不是日期。我找不到如何通过curl调用对该更改重新索引。如果重新编制索引是一个复杂的过程,那么我宁愿只是删除其中的内容并重新开始。但是,我也找不到如何指定字段类型!

任何帮助是极大的赞赏。


问题答案:

您需要使用Put Mapping AP I 定义映射。

curl -XPUT 'http://localhost:9200/twitter/_doc/_mapping' -H 'Content-Type: application/json'  -d '
{
    "_doc" : {
        "properties" : {
            "message" : {"type" : "text", "store" : true}
        }
    }
}
'

日期可以定义如下:

curl -XPUT 'http://localhost:9200/twitter/_doc/_mapping' -H 'Content-Type: application/json'  -d '
{
    "_doc" : {
        "properties" : {
            "user" : {"type" : "keyword", "null_value" : "na"},
            "message" : {"type" : "text"},
            "postDate" : {"type" : "date"},
            "priority" : {"type" : "integer"},
            "rank" : {"type" : "float"}
        }
    }
}
'


 类似资料:
  • 问题内容: 这是一个例子: 如果我有这些课程 在数据库中,我有一位作者名为“ George”,另一位作者名为“ Georfe”。最后一个是错误。因此,我想要的是每本以“ Georfe”为作者之一的书都被作者“ George”代替。 在SQL中确实很容易做到。如果id为“ George” = 3,id为“ Georfe” = 7,并且关系表名称为“ author_book”: 可以使用Django

  • 问题内容: 我是ElasticSearch的新手,所以这可能很琐碎,但是我还没有找到更好的方法来获取所有内容,使用脚本处理并逐个更新寄存器。 我想做一个简单的SQL更新: 我的意图是将实际的伪造数据替换为更有意义的数据(因此,表达式基本上是从有效值池中随机选择)。 问题答案: 关于使通过查询更新文档成为可能,存在一些未 解决的问题。 技术挑战是,lucene(elasticsearch在后台使用的

  • 问题内容: 我在一个表中有一个XML列,如下所示: 我想像这样更新此字段: 我想通过SQL Server中的一个函数来做。 谢谢! 问题答案: 正如Mikael所述,您需要描述更新背后的逻辑。但是对于上面的预期输出,以下应该起作用:

  • 在尝试更新映射时,我遇到以下错误: 我正尝试在windows上运行以下命令 如何将日期字段的数据类型从字符串更改为具有特定格式的日期类型。 我尝试更改字符串数据类型的映射,将其更改为loading和,但它给出了以下错误: 但是,如果将其从更改为,则会给出一个消息。我怎样才能改变分析器。

  • 问题内容: 我已将代码移植到NEST 2.0和Elasticsearch 2.0 我需要找到一种方法来更新已经存储在ES2中的文档 我正在使用部分对象技术: 如何使用NEST2做同样的事情? 问题答案: 您传递文档ID的方式有些变化。 今天看起来像: 要么 希望能帮助到你。

  • 是否可以在elasticsearch中更新文档中字段的映射数据类型?我是否必须删除整个索引并添加一个新的索引?是否需要创建一个包含新映射和所有文档的新索引?还是可以更改映射并要求elasticsearch使用新映射属性重新索引所有文档?第二种方法我不会丢失所有的文件。 Elasticsearch版本:6.3.2