使用PostgreSQL三合扩展进行模糊搜索
项目描述
PostgreSQL三合搜索
此插件提供了创建字符和文本字段的GIN或GiST索引以及使用搜索运算符%在搜索域中进行搜索的能力。目前此模块不会更改后端搜索或任何其他内容。它仅提供了对外部插件执行模糊搜索的可能性。
安装
应可使用PostgreSQL扩展pg_trgm。在基于debian的发行版中,您必须安装postgresql-contrib模块。
将pg_trgm扩展安装到您的数据库或授予您的postgresql用户SUPERUSER权限(这允许odoo模块将扩展安装到数据库)。
配置
如果已安装odoo模块
您可以通过设置 -> 数据库结构 -> 三合索引定义对char和text的GIN和GiST索引。新条目将自动创建索引名称。
用法
您可以为res.partner的name字段创建索引。
在搜索中,您可以使用
self.env['res.partner'].search([('name', '%', 'Jon Miller)])
在此示例中,该函数将为John Miller或John Mill返回阳性结果。
您可以通过调整设置限制(默认:0.3)来调整要返回的字符串数量。注意:目前您必须通过执行以下SQL语句来设置限制
self.env.cr.execute("SELECT set_limit(0.2);")
另一个有趣的功能是在 order 参数中使用 similarity(column, 'text') 函数按相似度排序。此模块只包含一个基本的实现,不执行验证,必须从这个函数开始。例如,您可以定义该函数如下:
similarity(%s.name, 'John Mil') DESC" % self.env['res.partner']._table
关于进一步的问题,请参阅 pg_trgm 模块的文档。
已知问题/路线图
修改通用搜索部分(例如在树视图或 many2one 字段中)
添加更好的 order by 处理
错误追踪器
错误在 GitHub Issues 上进行追踪。如有问题,请检查是否已经报告了您的问题。如果您是第一个发现它的人,请帮助我们通过提供详细和受欢迎的反馈来解决这个问题。
致谢
图片
Odoo 社区协会: 图标。
贡献者
Christoph Giesel <https://github.com/christophlsa>
Jordi Ballester <jordi.ballester@eficent.com>
Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
Dave Lasley <dave@laslabs.com>
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。
要为此模块做出贡献,请访问 https://odoo-community.org。
项目详情
哈希值 for odoo10_addon_base_search_fuzzy-10.0.1.1.0-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b5d08db42ac90aa9397aa8dbf8cbc2c2197cd871fc3e341e620e64426d8fa864 |
|
MD5 | 34c404fa2196dc0b51aa933fefc4dccc |
|
BLAKE2b-256 | 31c8b592de4b7791da6e475571acf558a41f93d45cbbba68cad87f8d4df3b5ac |