【问题标题】:Apache Cassandra integration with Apache SolrApache Cassandra 与 Apache Solr 的集成
【发布时间】:2012-09-01 17:37:57
【问题描述】:

我熟悉 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 DB 来解决这个问题?

谢谢!

【问题讨论】:

  • 您能弄清楚如何在不使用 DSE 的情况下进行集成吗?

标签: solr cassandra


【解决方案1】:

我认为您无法进行替换,但请查看Solandra,它可能会满足您的需求。 Datastax 还有一个名为企业搜索的 solr+cassandra 产品;看起来还不错,但你得付钱。

【讨论】:

  • 你所说的“替换掉”是什么意思? Solandra 似乎缺乏一点可持续性,而且我没有 Datastax 的预算。我的问题有那么特别吗?在我看来,用于数据存储的 Cassandra 和用于构面和搜索的 Solr 将是一个非常常见的场景,不是吗?
  • 我的意思是我不认为你可以使用 cassandra 作为 SQLServer 的替代品。您的查询不会按原样工作,但可以调整它们。我对 solr 还不够熟悉。查看 JDBC 驱动程序的 Cassandra-JDBC (code.google.com/a/apache-extras.org/p/cassandra-jdbc) 并尝试一下
  • 我并不是要替换现有的 MSSQL DB,我只是想知道我是否可以在未来的项目中使用 Cassandra 代替 MSSQL(很抱歉造成混淆)。所以它不会是替代品:我想要一个只有 cassandra+solr 的新项目。我有点惊讶我没有找到 Apache 基金会提供的任何解决方案!
  • 是的,因此我的“这不是替代品”的评论。如果你用另一个关系数据库替换 MSSQL,那将是一个替换。这并不是说 cassandra 不能工作,只是你必须做一些调整才能让它工作。查看 JDBC 驱动程序并试一试——这可能很容易
  • 我没有替换任何东西,我正在开始一些新的东西。因此,所有选项现在都摆在桌面上。当我只使用 Cassandra+Solr 开始一个新项目时,JDBC 驱动程序不会有用吗?谢谢!
【解决方案2】:

Solandra 是 Jake Luciani 的一个开源爱好项目。他讲述了 Solandra 的历史,并领导了下一代 Solandra 的 DSE Search 的开发。他在blog post 中谈到了它。这是我所知道的使用 Cassandra 的常规 Solr 4 接口来复制数据并提供诸如容错之类的东西的最佳方式。您可以下载它以免费试用,DataStax 确实为初创公司提供特别定价,物有所值。只是 DataStax 必须证明在其中投入资源是合理的。有关它的更多详细信息,请参阅the docs。免责声明,我确实为 DataStax 工作。

【讨论】:

  • 谢谢。但我的预算极低,我没有投资人,我一个人,所以很遗憾,我认为 DataStax 不适合我。令我感到非常惊讶的是,我没有找到 Apache 基金会本身提供的任何解决方案!
  • 仅供参考,博文链接已损坏 - solr 与 dse 搜索的 datastax 比较是 here
  • @Flo 你能找到一个解决方案,如何在没有 DSE 的情况下将 solr 与 cassandra 集成?
  • @AbdelazizMokhnache 不幸的是没有。最后我选择了 MSSQL 数据库解决方案,因为它在很大程度上赶上了 NOSQL 数据库的特性和性能。
  • @Flo 非常感谢您的回复 .. 但这很可惜,因为它们都是 apache 产品,所以不应该是这样 :(
猜你喜欢
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多