我正在使用 elasticsearch 在 mysql 数据库中进行搜索。如果数据库中有一个新条目会发生什么。 Elasticsearch 是自己更新索引还是我必须在外部做些什么?使用 elasticsearch 的公司如何处理实时数据添加到数据库中?索引是立即更新还是定期运行更新索引代码?
最佳答案
当数据库中有一个新条目时,即当您索引一种新的文档时,elasticsearch 会为文档中的字段构建一个默认映射。
索引数据后,您可以通过此查询查看映射。
curl -X GET 'localhost:9200/index_name/type/_mapping?pretty=true'
在您触发上述查询时为新文档建立索引后,您会看到 ES 会为字段创建特定的默认映射。
这就是使 ES 中实时添加数据变得容易的原因。例如,如果您在索引中传递的值是一个 integer
,那么 ES 会将其默认映射设置为 long
类型。如果它是某种时间格式,那么它将使用 datetime
类型。
您可以在 here 上找到有关映射的更多详细信息
关于mysql - 如果我将 jdbc river 与 mysql 一起使用, Elasticsearch 是否会自行更新其索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19945864/