我们有一个使用postgres数据库的应用程序,它有大约50个表。每个表包含大约300万条记录(平均而言)。表格现在每次都会更新新数据。现在,我们想在我们的应用程序中实现搜索功能。搜索需要一次在一个表上执行(不需要连接)。
我读过有关postgres全文支持的内容,看起来很有希望。但似乎Solr与之相比速度超快。我可以在Solr中使用现有的postgres数据库吗?如果表得到更新,我需要重新索引所有内容吗?
答案 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可能已经上诉了。