我们有一个使用 postgres 数据库的应用程序,它有大约 50 个表。每个表包含大约 300 万条记录(平均)。这些表时不时地用新数据更新。现在,我们想在我们的应用程序中实现搜索功能。一次需要在一个表上执行搜索(不需要连接)。
我已经阅读了有关 postgres 全文支持的信息,这看起来很有希望。但与它相比,Solr 似乎超级快。我可以将现有的 postgres 数据库与 Solr 一起使用吗?如果表得到更新,我是否需要重新索引所有内容?
我们有一个使用 postgres 数据库的应用程序,它有大约 50 个表。每个表包含大约 300 万条记录(平均)。这些表时不时地用新数据更新。现在,我们想在我们的应用程序中实现搜索功能。一次需要在一个表上执行搜索(不需要连接)。
我已经阅读了有关 postgres 全文支持的信息,这看起来很有希望。但与它相比,Solr 似乎超级快。我可以将现有的 postgres 数据库与 Solr 一起使用吗?如果表得到更新,我是否需要重新索引所有内容?
绝对值得一试 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以及其中的所有链接。
既然没有人跳进来,我会回答的。
恐怕这一切都取决于。这取决于(至少)
当我有一个需要一些文本搜索的数据库时,我只是使用了 PG 的内置选项。如果我没有对数据库的超级用户访问权限,或者已经在运行大型 Java 设置,那么 Solr 可能会很有吸引力。