为什么像Lucene / Solr这样的文档商店不包含在NoSQL对话中?
我们所有人最近都遇到过最近的无SQL解决方案的炒作。 MongoDB,CouchDB,BigTable,Cassandra和其他已被列为非SQL选项。 这是一个例子:
http://architects.dzone.com/articles/what-nosql-store-should-i-use
但是,三年前,一名同事和我正在使用Lucene.NET,因为它似乎符合no-SQL的描述。 我们并未仅将它用于用户输入的搜索查询; 我们使用它来创建一些重新编制索引的RDBMS表格数据,表现非常出色。 我们实现了自己的.NET等价于Solr服务来管理这些索引并使其可调用。 当我离开公司时,团队转向Solr本身。 (对于那些不知道的人,Solr是一个Web服务,它使用可调用REST的查询和索引转储来包装Lucene。)
我不明白的是,为什么Solr不计入无SQL解决方案选项的典型列表中? 我在这里错过了什么吗? 我认为Solr与CouchDB等没有可比性的技术原因,事实上我明白CouchDB使用Lucene作为它的数据存储(是吗?),但是什么使Solr不合格?
我并不是要求某种Solr fanboy或任何东西,我只是不明白为什么Solr等不符合no-SQL的定义,并且如果Solr在技术上符合定义,那么它可能会怎样人们噗噗呢? 我在问,因为我很难确定是否应该继续使用基于Lucene的解决方案(如Solr)来构建我构建的解决方案,或者如果我真的应该使用这些其他选项进行更多的研究。
我曾经听过关于小说写作的作者乌苏拉K.勒古恩的采访。 面试官问她有关以不同文体类型工作的作者。 是什么让一位作家成为浪漫作家,另一位是神秘作家,另一位是科幻小说作家? LeGuin解释道:
流派是关于市场营销,而不是关于内容。
这是一个令人大开眼界的声明。
我认为这同样适用于技术解决方案。 NoSQL运动正在吸引注意力,因为它现在充满了营销能量。 像Hadoop,CouchDB和MongoDB这样的NoSQL数据存储都有商业企业支持它们,将他们的解决方案推向新的创新和激动人心,以便他们能够发展业务。 “NoSQL”这个词是一个营销品牌 ,可以帮助他们解释其价值。
你说得对,Lucene / Solr与NoSQL文档存储在技术上非常相似:它是一个非规范化的文档包(他们的术语),其字段在整个文档集合中不一定是一致的。 它以复杂的方式编入索引,以便您可以搜索所有字段或特定字段。
但这不是Lucene用来解释其价值的类型。 由于他们由Apache基金会管理,他们不具备发展市场和业务的相同使命。 他们很乐意专注于全文搜索的用例,尽管该技术可以用于其他方面。 他们遵循软件成功的宗旨:做一件事,做得好。
在做了更多的谷歌搜索之后,我认为这个文档总结得非常好:
https://web.archive.org/web/20100504055638/http://www.lucidimagination.com/blog/2010/04/30/nosql-lucene-and-solr/
例如,Lucene / Solr是NoSql,可以认为是NoSql更成熟的“前辈”之一。 它只是没有得到应有的NoSql炒作,因为它没有发明术语“无SQL”,并且它的用户不使用该术语,所以炒作机器忽略了它。
我认为从nosql列表中删除solr / lucene的最相关特性是因为直到最近,使lucene作为实时系统工作是一件痛苦的事情。 任何高性能应用程序的常用工作流程都是为批量增量更新编制索引,并且每5分钟更新一次索引。
链接地址: http://www.djcxy.com/p/86387.html上一篇: Why are document stores like Lucene / Solr not included in NoSQL conversations?