我目前正在使用MySQL和Solr,但考虑进行一些更改。我应该继续使用Solr进行基于位置的搜索吗,还是将整个事情都转移到MongoDB?对于地理空间索引,Solr和MongoDB之间的特性有什么区别?
回答
我对MongoDB & Solr做了一些实验。没有很多数据点可以共享,但是从我记得Solr在结合查询(包括位置和文本)时比mongoDB有更好的性能。总体而言,由于MongoDB没有全文搜索功能,而且您已经在使用Solr,所以我会建议继续使用它进行搜索。
你可以自己计算一个geohash。我写了一个php库来根据经纬度对和空间索引查找销售点。我还将它用于分层集群。它使你独立于数据库供应商,你有更多的空间索引选择。你可以在phpclasses.org(hilbert-curve)上抓取我的图书馆。
您的图书馆在性能方面如何?现在我知道我可以将Solr用于地理空间索引,但我不确定我需要什么MongoDB。这真是一种遗憾,没有任何一种体面的全文搜索。 – 2012-03-10 19:52:06
@ScottHildebrand:我的图书馆速度非常快。它使用基于表格的方法而不是递归或L系统。我从Nick的空间索引四叉树希尔伯特曲线博客和黑客的喜悦中复制了这个方法。 – Bytemain 2012-03-11 10:55:44
- 1. 表索引和视图索引之间的区别是什么?
- 2. MongoDB的地理空间草堆索引
- 3. 引发缓存和空缓存之间有什么区别?
- 4. 的MongoDB:地理空间索引和覆盖索引查询
- 5. 对于PayPal IPN auth_amount和mc_gross之间有什么区别?
- 6. dpm()和dsm()之间有什么区别?
- 7. @dynamic和@synthesize之间有什么区别?
- 8. vbNullString和“”之间有什么区别吗?
- 9. * zoom和zoom之间有什么区别?
- 10. String.Concat,string.format和+之间有什么区别?
- 11. StaticLayout和DynamicLayout之间有什么区别
- 12. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之间有什么区别?
- 13. :: after和after之间有什么区别?
- 14. %.02f和%.2f之间有什么区别?
- 15. {$ var}和$ var之间有什么区别?
- 16. ReleaseFloatArrayElements和DeleteLocalRef之间有什么区别
- 17. {0}和“”之间有什么区别?
- 18. getA()和this.getA()之间有什么区别?
- 19. @observable和@published之间有什么区别
- 20. $ {}和#{}之间有什么区别?
- 21. url.getFile()和getpath()之间有什么区别?
- 22. KVC和Properties之间有什么区别?
- 23. Lazy.Force()和Lazy.Value之间有什么区别
- 24. “层”和“层”之间有什么区别?
- 25. 1.1em和1.05em之间有什么区别?
- 26. proc和lambda之间有什么区别?
- 27. ViewFlipper和ViewSwitcher之间有什么区别
- 28. typedef和宏之间有什么区别?
- 29. “$^N”和“$ +”之间有什么区别?
- 30. NSInvocation和block之间有什么区别?
在MongoDB中,在单个字段上进行文本搜索的可能性有多大?与Solr相比,这会非常低效吗? – 2012-03-10 08:49:55
你可以做很基本的东西,更多的细节可以在这里找到: http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo 既然你已经在使用Solr,你会松动一大堆功能 – 2012-03-10 08:56:35