跳转到主要内容

在相关字段中输入时更加友好的搜索

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

扩展了名称搜索功能,以使用额外的、更宽松的匹配方法,并允许在可配置的附加记录字段中进行搜索。

名称搜索是查找相关记录的功能。例如,在选择新销售订单上的客户时。

例如,键入“john brown”与“John M. Brown”不匹配。宽松的搜索也会查找包含所有单词的记录,因此“John M. Brown”也会匹配。它还容忍不同顺序的单词,因此搜索“brown john”也有效。

https://raw.githubusercontent.com/OCA/server-tools/16.0/base_name_search_improved/images/image0.png

此外,管理员可以配置其他字段也进行查找。例如,客户可以按城市或电话号码进行额外搜索。

https://raw.githubusercontent.com/OCA/server-tools/16.0/base_name_search_improved/images/image2.png

如何工作

执行常规名称搜索,只有当结果不足时才会触发额外的搜索逻辑。这样,不会在通常会产生结果搜索上增加开销。

但是,如果结果不足,则尝试使用额外的搜索方法。使用的具体方法包括

  • 在每个附加字段上尝试常规搜索

  • 在每个搜索字段上尝试有序单词搜索

  • 在每个搜索字段上尝试无序单词搜索

找到的所有结果都按此顺序显示,希望按相关性顺序显示。

目录

配置

转到设置 > 智能搜索 删除默认过滤器以查看所有型号 选择您想配置的型号并选择您的选项(智能搜索、智能名称搜索、域名、智能搜索字段)

在示例中,我们选择启用联系人(合作伙伴)和产品的改进搜索。此外,用户可以通过输入城市名称来搜索联系人。

Name Search Fields

用法

只需在任何相关字段中输入,例如销售订单上的客户。

已知问题/路线图

  • 还可以使用模糊搜索,例如Levenshtein距离: https://postgresql.ac.cn/docs/9.5/static/fuzzystrmatch.html

  • 搜索附加字段的列表可能受益于缓存,以提高效率。

  • 此功能还可以用于常规搜索名称字段。

  • 当添加m2o或其他具有改进名称搜索的相关字段时,该改进名称搜索不被使用(如果name_search在模块中自定义,并在另一个模块中添加该模型字段,则正常工作)。例如,在产品中,如果添加字段“公共类别”并将公共类别设置为“parent_id”,则当我们通过父类别搜索时,将不会找到任何内容,但如果我们将该逻辑添加到模块的name_search中,它将正常工作。

错误跟踪器

错误在GitHub Issues上跟踪。如果遇到问题,请检查是否已报告该问题。如果您是第一个发现的,请通过提供详细和受欢迎的反馈来帮助我们解决这个问题。

请不要直接联系贡献者以获取支持或技术问题帮助。

鸣谢

作者

  • 丹尼尔·雷伊斯

  • ADHOC SA

贡献者

其他鸣谢

此模块的开发得到了以下机构的财务支持

  • Odoo社区协会

维护者

此模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛应用。

此模块是GitHub上的OCA/server-tools项目的一部分。

欢迎您贡献力量。有关如何贡献的信息,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码发行版

此发布版没有可用的源代码发行版文件。请参阅生成发行版存档的教程

构建发行版

由...