现有的Postgres数据库与Solr

时间:2013-02-26 10:53:22

标签: postgresql solr

我们有一个使用postgres数据库的应用程序,它有大约50个表。每个表包含大约300万条记录(平均而言)。表格现在每次都会更新新数据。现在,我们想在我们的应用程序中实现搜索功能。搜索需要一次在一个表上执行(不需要连接)。

我读过有关postgres全文支持的内容,看起来很有希望。但似乎Solr与之相比速度超快。我可以在Solr中使用现有的postgres数据库吗?如果表得到更新,我需要重新索引所有内容吗?

2 个答案:

答案 0 :(得分:2)

绝对值得Solr一试。我们在多个表上移动了许多涉及JOIN的MySQL查询,并在不同的字段上对Solr进行了排序。我们对Solr的搜索速度,排序速度,分面功能以及高度可配置的文本分析/标记化选项非常满意。

If tables get updated would I need to re-index everything again?

不,您可以运行增量导入,仅重新索引新的和更新的文档。请参阅https://wiki.apache.org/solr/DataImportHandler

开始使用https://lucene.apache.org/solr/4_1_0/tutorial.html及其中的所有链接。

答案 1 :(得分:1)

由于没有人跳过,我会回答。

我担心一切都取决于。这取决于(至少)

  • 每个“文档”中文本的大小
  • 您希望搜索的灵活性
  • 数据库和文本搜索之间需要多少集成
  • 速度有多快
  • 你有多少经验

当我有一个需要进行文本搜索的数据库时,我刚刚使用了PG的内置选项。如果我没有超级用户访问数据库,或者已经运行了大型Java设置,那么Solr可能已经上诉了。