ata*_*don 26 solr mongodb elasticsearch
我们计划在MongoDB中存储数百万个文档,非常需要全文搜索.我读过Elasticsearch和Solr是全文搜索的最佳解决方案.
弹性搜索是否足够成熟,可用于Mongodb全文搜索?我们也在收集分类.Elasticsearch是否适用于Sharded集合?
使用Elasticsearch或Solr有哪些优缺点?
MongoDB能够进行全文搜索吗?
Par*_*ade 25
MongoDB中有一些搜索功能,但它不像搜索引擎那样功能丰富.
http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo
我们使用Mongo和Solr来搜索内容.我们更喜欢索尔因为
由于我们没有与ES合作,所以我不能说太多.您可以在下面的链接中找到关于Solr vs ES的一些讨论.
Seb*_*ber 22
我有Solr/MySQL和ElasticSearch/MongoDB的专业经验.
如果你要查询很多你的搜索引擎,你已经对你的MongoDB进行了分片(我的意思是,如果你想对你的搜索引擎进行分片):你应该使用ElasticSearch,除非你想要做的事情不能用ElasticSearch完成.即使你不打算碎片也应该使用它.
ElasticSearch是一个位于Lucene之上的新项目,它带来了分片机制,从用于分布式环境和搜索的人(Shay Bannon制作Compass并为Gigaspaces工作,数据网格编辑器).
ElasticSearch和MongoDB一样容易进行分片,我认为它更简单,默认情况下大多数情况都适用.
我不太喜欢Solr.
关于数据导入,我有Solr DataImportHandler和ElasticSearch河流(CouchDB和MongoDB)的经验.我能告诉你的是:
Solr和ElasticSearch也有一个新的MongoDB连接器,我需要尽快测试:) http://blog.mongodb.org/post/29127828146/introducing-mongo-connector
所以最后,我肯定会选择ElasticSearch,因为:
就本地的MongoDB而言,没有它没有全文搜索支持.您可以看到它是一个受欢迎的功能请求:
https://jira.mongodb.org/browse/SERVER-380
根据我所知道的MongoDB的ES河流插件,它为其功能提供了oplog.由于分片设置会有多个oplog,并且没有办法轻易地改变代码以通过mongos连接.
类似地,对于Solr,我看到的示例通常涉及与ES插件类似的行为.这里有一些更实用的信息:
http://blog.knuthaugen.no/2010/04/cooking-with-mongodb-and-solr.html
我没有任何经验使用过,但其他人之前已进行过比较,请看一下:
ElasticSearch,Sphinx,Lucene,Solr,Xapian.哪种适合哪种用途?
MongoDB无法进行高效的全文搜索.您可以对字段执行通配符搜索,但我认为这些搜索不会有效使用索引.
我建议使用ElasticSearch 的河流功能自动将文件从MongoDB推送到ElasticSearch.
elasticsearch-river-mongodb是一个MongoDB到Elasticsearch河,当MongoDB中的文档发生变化时,ElasticSearch将监视oplog,然后自动更新其索引.
这样可以最大限度地减少使两个数据存储保持同步的问题,因为ElasticSearch只是监视Mongo的复制表.
归档时间: |
|
查看次数: |
16739 次 |
最近记录: |