在关联字段中输入时的更友好的搜索
项目描述
扩展名称搜索功能以使用额外的、更宽松的匹配方法,并允许在可配置的附加记录字段中进行搜索。
名称搜索是查找相关记录的功能。例如,在新销售订单中选择客户。
例如,键入“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 上跟踪。如有问题,请检查是否已报告您的问题。如果是您首先发现的,请通过提供详细和受欢迎的 反馈 来帮助我们解决它。
请勿直接联系贡献者以获取支持或技术问题的帮助。
鸣谢
贡献者
丹尼尔·里斯 <https://github.com/dreispt>
其他信用
此模块的开发得到了以下机构的财政支持:
Odoo社区协会
维护者
此模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
此模块是GitHub上的 OCA/server-tools 项目的组成部分。
欢迎您贡献力量。要了解如何贡献,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo13_addon_base_name_search_improved-13.0.1.1.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d7713aa635b5f9cc166fe09e1a71a071c1017b9dbf4eed00981a60f04da92155 |
|
MD5 | 371bc7342a5bc2157f96da5ba997d0db |
|
BLAKE2b-256 | 93fcd83ea4c803a2ef57885b437c4a18e4fb9355259694fa0e75aca259a3eaf1 |