模糊搜索和全文搜索到底有什么区别?

问题描述 投票:0回答:1

在我的项目中,要求我在我们正在使用的数据库上实施文本查询服务; PostgreSQL。我使用了Postgresql Full Text Search功能,在时间上效果还不错。关于全文搜索的一个问题是,它不具有模糊搜索功能。另一方面,存在名为pgtrgm 提供用于确定字母数字文本的相似性的函数和运算符的扩展名。也有几个[pg]使用pgtrgm进行文本搜索;

examples

您也知道postgres FTS的示例;

select actor
    from products
    where actor % 'tomy';

因此,主要问题是,这两种搜索策略之间有什么区别?哪一种是更合适的文本搜索方式?可以混合吗?我还需要说性能也是一个重要的问题。预先感谢!

postgresql full-text-search pg-trgm
1个回答
0
投票

差异非常大-在模糊搜索中,您要搜索的是相似结果,在全文搜索中-要完全相同。用例问题是,哪一种比另一种更合适。

如果不需要模糊性,请不要使用它,这是巨大的性能开销,因为它必须不完全匹配文本,还需要尝试其他组合。

© www.soinside.com 2019 - 2024. All rights reserved.