mysql - 如果我将 jdbc river 与 mysql 一起使用, Elasticsearch 是否会自行更新其索引?

标签 mysql jdbc full-text-search elasticsearch

我正在使用 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/

相关文章:

mysql - Scala JDBC 连接 :java. sql.SQLException:用户访问被拒绝

javascript - 将日期时间区域字符串转换为日期时间 javascript

java - zxjdbc调用存储过程的正确用法是什么?

performance - 提高配置单元jdbc的性能

php - 如何使用 MySQL 查询搜索两个字符的单词?

php - 在mysql中搜索名称的最佳方法

PHP 文件上传无法正常使用,如何解决?

javascript - 在哪里使用 AngularJS 和 node-mysql 连接到 MySQL 数据库?

java - MySQLNonTransientConnectionException 无法创建与数据库服务器的连接。由 : java. lang.NullPointerException 引起

full-text-search - 托管全文搜索选项 - IndexTank vs Solr vs Lucene