当前位置:Gxlcms > 数据库问题 > 用 mongodb + elasticsearch 实现中文检索

用 mongodb + elasticsearch 实现中文检索

时间:2021-07-01 10:21:17 帮助过:24人阅读

pip install mongo-connector $ mongo-connector --auto-commit-interval=0 -m mongo:27017 -t elasticsearch:9200 -d elastic_doc_manager

auto-commit-interval 是提交延迟,0 表示即时写入,-m 和 -t 分别指定 mongo 和 elasticsearch 地址即可。

需要注意的是,mongo 需要配置为 cluster 模式。

配置环境

用户可以自行配置 mongo 和 elasticsearch 环境,并通过 mongo-connector 连接起来。

这里已经提供好了 docker-compose 模板,可以使用 docker 容器一键创建包括 mongo、mongo-connector、elasticserach 的环境。需要提前安装 Docker 和 docker-compose 环境。

$ git clone https://github.com/yeasy/docker-compose-files.git
$ cd mongo-elasticsearch; docker-compose up

通过 docker inspect container_id |grep Addr 可以查看容器的 IP 地址。

测试

在 mongo 容器中写入数据

> use test
> db.col.insert({name:"王晓明", birth:"1980-01-01"})
> db.col.insert({name:"王东东", birth:"1981-01-01"})
> db.col.insert({name:"张丽敏", birth:"1982-01-01"})

通过 elasticsearch 容器进行检索

curl -XGET -H ‘charset=UTF-8‘ elasticsearch:9200/test/col/_search -d ‘{ "query" : { "match" : { "name" : "王" } } }‘
{"took":74,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":0.5,"hits":[{"_index":"test","_type":"col","_id":"55d6d4640e247e587cfc73ca","_score":0.5,"_source":{"name": "\u738b\u4e1c\u4e1c", "birth": "1981-01-01"}},{"_index":"test","_type":"col","_id":"55d6d45d0e247e587cfc73c9","_score":0.15342641,"_source":{"name": "\u738b\u6653\u660e", "birth": "1980-01-01"}}]}}

转载请注明:http://blog.csdn.net/yeasy/article/details/47842437

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

用 mongodb + elasticsearch 实现中文检索

标签:mongodb   elasticsearch   全文检索   docker   

人气教程排行