【问题标题】:Can we use Apache Solr for relational database like mysql?我们可以将 Apache Solr 用于 mysql 等关系数据库吗?
【发布时间】:2026-02-07 23:40:01
【问题描述】:

我是 Apache Solr 的新手,我需要知道天气 Apache Solr 对 mysql 等关系型数据库非常有用。我为什么要寻找 Apache Solr 是因为我有大型数据库,带有关系映射和 FK 数据检索真的很慢,所以我正在寻找一些搜索引擎或算法。 p>

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    您(可能)不想将 Solr 用作数据库,但将它与关系数据库一起使用是一种非常常见的用例。

    不使用 Solr 作为主要数据存储的众多原因之一是输入的转换将是有损的,并且直到最近几年,都无法更新单个字段。鉴于对字段的更改也不会传播到现有数据,因此尝试将其用作单一存储时可能会遇到问题。

    使用不同的技术来存储数据,但将其索引到 Solr 并针对它进行搜索查询以卸载您的主数据存储。

    【讨论】:

    • 我可以使用 mysql 作为数据库,使用 solr 进行索引将解决我的数据加载问题。
    • 可能。在不知道性能问题出在哪里的情况下不可能说 - RDBM 中的主键查找应该是数据库也针对该用例进行了高度优化的用例。
    • 查询获取很好。实际上我正在使用休眠框架来获取数据,所以我怀疑它可能需要一些时间。
    【解决方案2】:

    是的,Apache solr 非常适合 MYSql 和 Oracle 等关系型数据库。

    您可以使用 solr 的数据导入处理程序 (DIH)。

    使用 DIH 索引数据并检查性能。

    这里有链接可以帮助你实现同样的目标

    https://wiki.apache.org/solr/DataImportHandler

    https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler

    http://www.beingjavaguys.com/2013/01/how-to-use-solr-data-import-handler-to.html

    【讨论】:

    • 如果这回答了问题..请随意接受答案:)
    • @AbhijitBashetti 是否可以用它替换 0.5,1 GB 的数据库?我的意思是它可以处理多大。
    • @Adrian : 0.5 GB 是数据库的总大小还是数据库的单行?我目前已经索引了 100 GB 的数据。
    • @AbhijitBashetti 我有 50 万条记录,总计 500 MB 数据库。数据记录大多为大String。这看起来是个好主意。我这个周末去看看。
    最近更新 更多