具有postgresql三元组扩展的模糊搜索
odoo10-addon-base-search-fuzz的Python项目详细描述
PostgreSQL Trigram搜索
这个插件提供了创建字符和文本的gin或gist索引的能力。 以及在搜索域中使用搜索运算符%。目前 此模块不会更改后端搜索或其他任何内容。它提供了 只可能执行对外部加载项的模糊搜索。
安装
- postgresql扩展名pg_trgm应该可用。以Debian为基础 发行版您必须安装PostgreSQL contrib模块。
- 将pg_trgm扩展名安装到数据库中,或者提供postgresql 使用SUPERUSER权限(这允许odoo模块安装 数据库的扩展名)。
配置
如果安装了ODOO模块:
- 您可以通过 设置->;数据库结构->;三元索引。索引名将 为新条目自动创建。
使用量
您可以为res.partner的name字段创建索引。
在搜索中,您可以使用:
self.env['res.partner'].search([('name','%', 'Jon Miller)])
在本例中,函数将返回john miller或 约翰·米尔。
可以通过调整设置的限制来调整要返回的字符串数 (默认值:0.3)。注意:当前必须通过执行 遵循SQL语句:
self.env.cr.execute("SELECTset_limit(0.2);")
另一个有趣的特性是使用similarity(column, 'text') 按相似性排序的order参数中的函数。这个模块只是 包含不执行验证的基本实现,并且必须 从这个函数开始。例如,可以将函数定义为 随后:
similarity(%s.name, 'John Mil') DESC" % self.env['res.partner']._table
有关更多问题,请阅读 pg_trgm模块。
已知问题/路线图
- 修改常规搜索部分(例如,在树状图或许多字段中)
- 添加更好的订单方式处理
缺陷跟踪器
在GitHub Issues上跟踪错误。如果有麻烦,请 如果您的问题已经报告,请检查那里。如果你先发现它, 通过提供详细且受欢迎的反馈,帮助我们粉碎它。
学分
图像
- 奥多社区协会:Icon。
贡献者
- 克里斯托夫·吉塞尔,https://github.com/christophlsa>;
- 乔迪·巴莱斯特,jordi.ballester@eficent.com>;
- 蛇咨询服务私人有限公司
- 戴夫·拉斯利dave@laslabs.com>;
维护人员
此模块由OCA维护。
oca,或odoo社区协会,是一个非营利性组织 任务是支持odoo特性和 促进其广泛应用。
若要对此模块作出贡献,请访问https://odoo-community.org。