Apache Cassandra与Apache Solr的集成

8

我熟悉在MSSQL数据库上使用Apache Solr,但现在我正在寻找如何将Apache Solr与Apache Cassandra集成,而不是使用我的MSSQL数据库。

我正在寻找设置此集成的教程和第一步,但找不到任何有用的信息。

例如,在MSSQLDB中,我的数据配置看起来像这样:

<dataConfig>
<dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;databaseName=test" user="sa" password="74667fghbjj3" />
<document name="cameras">
    <entity name="camera" query="select * from cameras WHERE isapproved='true'"
    deltaImportQuery="select * from cameras WHERE updatedate &lt; getdate() AND isapproved='true' AND id='${dataimporter.delta.id}'"
    deltaQuery="select id from cameras where isapproved='true' AND updatedate &gt; '${dataimporter.last_index_time}'">              
        <field name="id" column="ID" />
        <field name="title" column="TITLE" />
        <field name="friendlyurl" column="FRIENDLYURL" />           

        <entity name="camera_country" query="select countryid from cameras where id=${camera.id}">
            <entity name="countries" query="select title_nl as country_nl,title_en as country_en from countries where id = ${camera_country.countryid}">
            </entity>
        </entity>
    </entity>
</document>
</dataConfig>

但是如果我想使用Cassandra作为我的NOSQL数据库,该怎么做呢?

谢谢!


你能想出一种不使用DSE的集成方法吗? - bhargavaravalik
2个回答

6

Solandra 是 Jake Luciani 的一个开源爱好项目。他介绍了 Solandra 的历史,并领导开发了下一代的 Solandra - DSE Search。在这篇博客文章中,他详细讲解了 Solandra 和 Cassandra 的整合方式,可以使用常规的 Solr 4 接口来复制数据并提供容错功能。你可以免费下载并尝试使用,对于初创企业,DataStax也有特别的定价优惠。只是 DataStax 需要证明投资资源的价值。更多细节请参阅文档。声明,我是 DataStax 的工作人员。


谢谢。但是我的预算非常低,我没有投资者,只有我自己,所以不幸的是我认为DataStax不适合我。我非常惊讶的是,我没有找到任何由Apache基金会提供的此设置的解决方案! - Adam
1
请注意,博客文章链接已损坏 - Datastax比较Solr与DSE搜索的链接在此处:http://docs.datastax.com/en/datastax_enterprise/5.0/datastax_enterprise/srch/searchOssSolrDiff.html - unboundev
@Flo,你能找到一种不需要使用DSE的方法来集成Solr和Cassandra吗? - Abdelaziz Mokhnache
1
很遗憾,我最终选择了MSSQL数据库解决方案,因为它在功能和性能方面已经大大赶上了NOSQL数据库。 - Adam
@Flo 非常感谢您的回复..但这很遗憾,这不应该是这种情况,因为它们都是Apache产品 :( - Abdelaziz Mokhnache

0

我认为你不能进行完全替换,但你可以看一下Solandra,它也许能够满足你的需求。另外Datastax有一个名为Enterprise Search的solr+cassandra产品,看起来非常不错,但需要付费。


1
“drop in replacement”是什么意思?Solandra似乎缺乏一些可持续性,而我没有足够的预算购买Datastax。 我的问题很特别吗?在我看来,Cassandra用于数据存储,Solr用于分面和搜索应该是一个非常普遍的场景,不是吗? - Adam
1
我的意思是,我认为你不能将Cassandra作为SQLServer的替代品。你现有的查询无法直接使用,但可能可以进行调整。我对Solr不够熟悉,不确定是否可行。请查看Cassandra-JDBC(http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/)获取JDBC驱动程序并尝试使用它。 - BigBen
我并不想替换现有的MSSQL数据库,我只是想知道在未来的项目中是否可以使用Cassandra代替MSSQL(对于造成的混淆我很抱歉)。因此,这不会是一个直接替换:我想要一个只包含Cassandra+Solr的新项目。我有点惊讶Apache基金会没有提供任何解决方案! - Adam
是的,完全正确,这就是我所说的“它不是一个直接替换”的原因。如果你要用另一个关系型数据库替换MSSQL,那么它就是一个直接替换。这并不意味着cassandra不能工作,只是你需要进行一些调整才能让它工作。看看JDBC驱动程序,试试看 - 这可能会很容易。 - BigBen
我不是要替换任何东西,而是要开始一个新的项目。所以现在所有的选择都在桌面上。 当我只使用Cassandra+Solr启动一个新项目时,JDBC驱动程序将没有用处,对吧? 谢谢! - Adam
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接