【问题标题】:Full Text Search in PostgresqlPostgresql 中的全文搜索
【发布时间】:2013-03-09 10:44:59
【问题描述】:

我正在寻找在 postgresql 中实现全文搜索方法的教程。 我尝试了几个示例,但没有一个执行。 我尝试了索引 GIN、GIST 和几种研究方法,但搜索时间太长。 我有一个包含艺术家姓名的超过 400 万条记录的数据库。 我需要开发一种包含fuzzystrseach 算法的搜索方法。

【问题讨论】:

  • 您是否查看了查询的explain analyze 并验证该索引是否已实际使用?你能发布解释分析以及表和索引定义吗?

标签: postgresql full-text-search fuzzy-search


【解决方案1】:

这可能不是您正在寻找的答案,但我建议您尝试 Solr、Sphinx 或其他一些搜索服务器。 Solr 将毫无问题地处理 4M 行和模糊搜索。我以前也遇到过同样的问题,我的解决方案是使用 Solr。我无法通过使用数据库获得足够好的性能。

Solr 可以做的不仅仅是模糊搜索。即使没有模糊搜索,Solr 也可以使用词干分析器预处理文本以改善搜索结果。词干提取比模糊搜索提供更好的性能,因为它是在索引时完成的,并且实际搜索可以作为完全匹配执行。

使用 Solr,您可以直接从数据库创建索引,因此您无需编写任何额外的软件来将数据输入 Solr。我没有其他搜索服务器的经验,所以我不能说他们是否有类似的能力。

【讨论】:

  • Postgres 也可以进行词干提取。但基本上我同意你的看法。全文搜索最好留给专门的系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2016-06-18
  • 2020-03-07
  • 2014-01-05
  • 1970-01-01
相关资源
最近更新 更多