elasticsearch使用中的一些问题记录

一、curl '172.27.8.132:9200/_cat/indices?v'看到一些不是我手动创建的索引,这些是什么东西?

[esadmin@master config]$ curl '172.27.8.132:9200/_cat/indices?v'
health status index                   pri rep docs.count docs.deleted store.size pri.store.size 
green  open   bank                      5   1       1000            0    885.2kb        442.6kb 
green  open   .kibana                   1   1          5            0     51.7kb         25.8kb 
green  open   .marvel-es-data-1         1   1         13            4     42.7kb         21.3kb 
green  open   .marvel-es-1-2016.11.18   1   1      11467          232     14.3mb          7.2mb 
green  open   .marvel-es-1-2016.11.17   1   1      97604          228     77.8mb         38.9mb 
green  open   shakespeare               5   1     111396            0     37.3mb         18.6mb 
green  open   logstash-2015.05.20       5   1       4750            0     36.2mb         17.9mb 
green  open   logstash-2015.05.18       5   1       4631            0     34.9mb         17.3mb 
green  open   logstash-2015.05.19       5   1       4624            0     35.2mb         17.4mb

参考:http://*.com/questions/32124730/daily-marvel-indices-is-it-safe-to-remove

二、使用mongo-connector同步数据时的测试

1. 

mongo-connector --auto-commit-interval=0 -m mongodb://xxxx:xxxx@172.27.8.xxx:xxxx -t 172.27.8.132:9200 -d elastic2_doc_manager -n estestdbnew.test --batch-size 1000

执行命令后没反应,新建的estestdbnew.test里面只有两个文档,但是没有同步过去,后来发现@后面的ip地址填的不对,这个estestdbnew是在mongodb集群里的sharding2上,而我一开始填的是sharding1的地址,这个得小心

三、测试mongodb向ES同步的性能问题 

测试方法,使用如下脚本向mongodb写入数据:

SHARDING_2:PRIMARY> for(var i=0;i<100000;i++){db.test.insert({name:"new3", age:9999})}

最开始的时候同步非常慢,可以看写入mongodb已经完成了,但是ES那边的增长速度只有几十条每秒,当时我用的同步命令是

mongo-connector --auto-commit-interval=0 -m mongodb://wlan:wlan@172.27.8.118:40000 -t 172.27.8.132:9200 -d elastic2_doc_manager -n estestdbnew.test --batch-size 1000 --verbose

解决办法:在github上最近有人提交了一个新版本,提高了批量写入的速度,安装新版本后此问题解决,具体安装办法请参考

https://github.com/mongodb-labs/mongo-connector/issues/585#issuecomment-261853336

并请注意如果使用此版本,auto-commit-interval 不应设为0,具体对这个值的解释请参考以上链接,有相关的解释。

四、match和term的问题 

在mongoDB里查询一个文档,只查到一个文档

db.histclientverboses.find({clientMAC:"0008-2264-697f"})

在ES里,用match查询,返回结果有14177个,观察发现,包含“clientMAC”为“0006-8100-2264”这样的文档也被返回,猜测match查询应该不是精确匹配

curl -XPOST '172.27.8.132:9200/estestdbnew/histclientverboses/_search?pretty' -d '{
  "query": {
        "match": { "clientMAC": "0008-2264-697f" } 
    } 
}'

解决办法,使用“match_phrase”

参考资料 http://www.cnblogs.com/yjf512/p/4897294.html