在关系字段中键入时更友好的搜索
odoo11-addon-base-name-search-improved的Python项目详细描述
扩展名称搜索功能,以使用附加的、更轻松的 匹配方法,并允许搜索可配置的附加 记录字段。
名称搜索是用于选择相关记录的查找功能。 例如,在新的销售订单上选择客户。
例如,键入“john brown”与“john m.brown”不匹配。 轻松搜索还会查找包含所有单词的记录, 所以“约翰·M·布朗”就是一个匹配词。 它还可以容忍不同顺序的单词,所以搜索 因为“布朗约翰”也行。
此外,管理员还可以配置其他字段以进行查找。 例如,还可以按城市或电话号码搜索客户。
工作原理:
执行常规名称搜索,并且附加的搜索逻辑仅 如果没有找到足够的结果,则触发。 这样,就不会在通常会产生结果的搜索上增加开销。
但如果没有找到足够的结果,则尝试其他搜索方法。 使用的具体方法是:
- 尝试对每个附加字段进行常规搜索
- 在每个搜索字段上尝试按顺序搜索单词
- 在每个搜索字段上尝试无序词搜索
所有发现的结果都是按这个顺序呈现的, 希望能按相关性顺序呈现。
目录
Configuration
模糊搜索在所有模型上自动启用。 请注意,这只影响在相关字段中键入。 右上角搜索框中使用的常规search()不受影响。
其他搜索字段可以在“设置”>;“技术”>;“数据库”>;“模型”, 使用“名称搜索字段”字段。
Usage
只需键入任何相关字段,例如销售订单上的customer。
Known issues / Roadmap
- 还可以使用模糊搜索,例如Levenshtein距离: https://www.postgresql.org/docs/9.5/static/fuzzystrmatch.html
- 为了提高效率,要搜索的其他字段列表可以从缓存中获益。
- 也可以为name字段上的常规search实现此功能。
Credits
Contributors
- 丹尼尔赖斯,https://github.com/dreispt>;
Maintainers
此模块由OCA维护。
oca,或odoo社区协会,是一个非营利性组织 任务是支持odoo特性和 促进其广泛应用。
此模块是github上OCA/server-tools项目的一部分。
欢迎您的贡献。要了解如何访问https://odoo-community.org/page/Contribute。