阿里云-开放搜索服务最佳实践-D.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开放搜索 最佳实践 开放搜索/最佳实践 开放搜索/最佳实践 PAGE 10 PAGE 10 最佳实践 功能篇 分词、匹配、相关性、排序表达式 针对目前若干用户遇到的搜索结果与预期不符合的问题进行统一详细说明,并以此为话题展开说明下opensearch在搜索效果方面的功能和后续一些工作方向。 首先,对于搜索来讲,最常见的有两种做法: 数据库的like查询,可以理解为简单的包含关系; 百度、google等搜索引擎,涉及到分词,将查询词根据语义切分成若干词组term(这个是搜索引擎 重难点之一),通过term组合匹配给相应文档进行打分,根据分值排序,并最终返回给用户。 opensearch采用的方式与上述搜索引擎做法基本一致。那这里就有三部分内容会影响搜索效果:1,分词方式 ;2,匹配方式;3,相关性算分。 我们来分别说下这三部分在opensearch上的行为和表现。 分词方式 原理 分词会在两个地方使用: 索引构建时:接收到用户推送文档后,会根据用户定义的应用结构,取出其中为TEXT、SWS_TEXT字段进行分词,将对应文档内容分成若干term(如浙江大学拆分成2个term:浙江和 大学),并针对每个索引字段配置(可搜索的索引字段)构建term到文档doc的倒排链表,用于快 速召回使用; 查询时:将查询词进行分词,按照切完后的term查找倒排链,从而找到(召回)包含该term的文档 。 由此可见,这两部分的分词方式必须一致,否则会出现对应文档无法召回的情况。 接下来,我们详细说明下各个字段的展现效果及适用场景,供大家参考。 STRING 如文档字段内容为菊花茶,则只有搜索菊花茶的情况下可以召回。不分词,适合一些需要精确匹配或者只展示不搜索的场景,如标签、关键词、url等。 如文档字段内容为菊花茶,则只有搜索菊花茶的情况下可以召回。 TEXT、MWS_TEXT 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶的情况下可以召回。按照检索单元做分词,适合有语义的中文搜索场景,如标题、文本等,MWS_TEXT是TEXT的扩展,会召回更多 的内容,建议使用MWS_TEXT。 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶的情况下可以召回。 SWS_TEXT 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶、菊、花、菊茶的情况下可以召回。按照单字/单词分词,适合非语义的中文搜索场景,如小说作者名称、店铺名等; 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶、菊、花、菊茶的情况下可以召回。 SHORT_TEXT 短文本模糊搜索,支持拼音搜索、数字的前后缀搜索、单字或者单字母搜索。最多支持100个字节字段长度 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶、菊、花、菊茶、ju、juhua、juhuacha、 j、jh、jhc等情况下可以召回。如文档字段内容为手机则通过^138来搜索以138开头的手机号,通过5678$搜索以5678结尾的手 如文档字段内容为菊花茶,则搜索菊花茶、菊花、茶、花茶、菊、花、菊茶、ju、juhua、juhuacha、 j、jh、jhc等情况下可以召回。 如文档字段内容为手机则通过^138来搜索以138开头的手机号,通过5678$搜索以5678结尾的手 机号; 如文档字段内容为OpenSearch,则通过单个字母或者组合都可以检索到。 ENG_TEXT 如文档字段内容为英文分词器 english analyzer,则搜索英文分词器、english、analyz、analyzer、analyzers、analyze、analyzed、analyzing。 如文档字段内容为英文分词器 english analyzer,则搜索英文分词器、english、analyz、analyzer、analyzers、analyze、analyzed、analyzing。 (注意:英文分词器中连续的中文会被分成一个词) NWS_TEXT 自定义分词,适合特殊场景下系统自带无法解决的搜索场景,可以实现完全用户控制的效果。推送文档及搜索 时使用制表符\t对字段内容(或查询词)进行分隔,注意二者分词的一致性,否则会导致无法召回文档的情况 。 如字段内容为菊\t花茶\thao,则只有查询词菊、花茶、菊\t花茶、花茶\thao、菊\thao、菊\t花茶\thao可以召 回该文档。 如字段内容为菊\t花茶\thao,则只有查询词菊、花茶、菊\t花茶、花茶\thao、菊\thao、菊\t花茶\thao可以召 回该文档。 后续工作 1. 增加对小语种的支持,如俄语、葡语、日语等。 使用技巧 1,在一些召回不好的情况下,可以采用TEX

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档