我使用以下内容:
ElasticSearch - v0.90.9
MySQL的JDBC连接器 - v5.1.28
ElasticSearch River - v2.3.1
我可以使用ElasticSearch构建和查询索引数据。上述版本安装在Ubuntu 12.04 LTS虚拟机上,ElasticSearch作为服务运行,在系统重启后自动启动。
让我们说当没有索引时我使用ElasticSearch River构建新索引并发出PUT命令来构建索引,索引就构建完毕并且一切正常。现在,问题是当我关闭虚拟机并再次重新启动它时,会再次重建此索引。我发现这很烦人,有没有办法防止自动重建索引?
我是否应该注意ElasticSearch River或ElasticSearch设置以防止自动索引重建?在我的情况下,这会导致重复。
提前致谢。
答案 0 :(得分:0)
我发现停止重新索引的唯一方法是在运行后删除河文档。
但是,如果您遇到的问题是文档重复,那么您需要做的是识别id字段。有两种方法可以执行此操作,或者使用标记为“_id”的字段导入数据,或者在创建标识id字段的索引的映射时标识id字段,如下例所示。
PUT my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 3
},
"mappings": {
"my_type": {
"properties":{
"field1": { "type": "string", "analyzer": "keyword" }
},
"_id": { "path": "field1" }
}
}