在相关字段中输入时更友好的搜索
项目描述
扩展名称搜索功能,以使用更多、更宽松的匹配方法,并允许搜索可配置的附加记录字段。
名称搜索是查找相关记录的查找功能。例如,在新的销售订单中选择客户。
例如,键入“john brown”不会匹配“John M. Brown”。宽松的搜索也会查找包含所有单词的记录,因此“John M. Brown”将是一个匹配项。它还容忍单词的不同顺序,因此搜索“brown john”也有效。
此外,管理员还可以配置其他字段以进行查找。例如,客户可以根据城市或电话号码进行额外的搜索。
工作原理
执行常规名称搜索,只有在找不到足够的结果时才会触发附加搜索逻辑。这样,不会在通常会产生结果的搜索上添加开销。
但如果找不到足够的结果,则会尝试附加搜索方法。使用的方法是
尝试在所有附加字段上执行常规搜索
尝试在每个搜索字段上执行有序单词搜索
尝试在每个搜索字段上执行无序单词搜索
找到的所有结果按该顺序显示,希望按相关性顺序显示。
目录
配置
模糊搜索在所有模型上自动启用。请注意,这仅影响相关字段的输入。右上角的搜索框中使用的常规 search() 函数不受影响。
可以在设置 > 技术 > 数据库 > 模型中配置额外的搜索字段,使用“名称搜索字段”字段。
使用
只需在任意相关字段中输入,例如销售订单中的客户。
已知问题/路线图
还可以使用模糊搜索,例如Levenshtein距离: https://postgresql.ac.cn/docs/9.5/static/fuzzystrmatch.html
搜索额外字段的列表可能受益于缓存,以提高效率。
此功能也可以用于常规 search 中的 name 字段。
当添加m2o或其他具有改进名称搜索的相关字段时,该改进的名称搜索不会被使用(如果name_search在一个模块中自定义,并在另一个模型中添加该模型的字段,则可以正常工作)。例如,在产品中,如果添加了“公共类别”字段,并将公共类别设置为“parent_id”,那么我们会发现如果按父类别搜索,则没有任何搜索结果,但如果在模块的name_search中实现这个逻辑,则可以正常工作。
错误跟踪器
错误在 GitHub Issues 上跟踪。如有问题,请检查是否已报告您的问题。如果您是第一个发现的,请提供详细的欢迎反馈 feedback 以帮助我们解决问题。
请不要直接联系贡献者以寻求支持或技术问题帮助。
致谢
贡献者
Daniel Reis <https://github.com/dreispt>
Kitti U. <kittiu@ecosoft.co.th> (迁移到v14)
Radovan Skolnik <radovan@skolnik.info>
其他致谢
本模块的开发得到了以下机构的财务支持:
Odoo社区协会
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
本模块是GitHub上的 OCA/server-tools 项目的组成部分。
欢迎您贡献。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo14_addon_base_name_search_improved-14.0.1.1.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5981883726f13089e09f4c9fae13e1c3c8b3fb3746e96bcc9e40427d1db35a38 |
|
MD5 | 37bab57617ee8ee69a3cf18ea375b97b |
|
BLAKE2b-256 | b84b3b2c670fb388d79a943400c11a85d07497200fa21431b94b228992d0e6d6 |