OpenSearch 中的向量检索版提供多种分析器,以满足不同语言和应用需求:
中文通用分析器:适用于普通中文文本的分词与分析。
行业分析器:针对特定行业领域的词汇优化分析,提升检索效果。
单字分析器:按照单字/单词分词,适合非语义的中文搜索场景。
简单分析器:简单分析器(simple)使用空格“ ”对字段内容(或查询词)进行分隔,适合特殊场景下系统自带无法解决的搜索场景,。
模糊分析器:支持模糊匹配,适于处理拼写错误或不完整的查询。
拼音分析器:将汉字转换为拼音,便于拼音检索。
英文分析器:专为英语文本设计的分析器,处理词汇及语法。
小语种分析器:支持小语种的分词与分析,拓展多语言检索能力。
这样的分析器组合可以提高搜索效率,满足不同用户的需求。
中文通用分析器
分析器介绍
中文通用分析器(chn_standard),基于中文语义分词,适用于全网通用行业的分析器。中文分析器按照检索单元(最小粒度)进行分词,并且支持扩展分词。例如:文档字段内容为“菊花茶”,分词之后的结果为“菊花 茶 花茶”,其中花茶是茶的扩展分词。
例如:
原始内容:菊花茶
中文通用分析器:菊花 茶 花茶
分词干预
修改高级配置中的chn_standard.dict
并发布上线即可进行分词干预。分词干预的词条是一个中粒度的词条,引擎内部会对干预的词条再次进行切分成检索粒度。比如干预“搜索引擎”的分词时,在词条中添加搜索引擎,搜索引擎还会继续分词成“搜索”、“引擎”两个词。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_standard。
行业分析器
行业-电商通用分析
分析器介绍
行业-电商通用分析器(chn_ecommerce_general)是根据集团多年积累的电商行业数据并借助达摩院先进的智能语言处理技术,贴合行业痛点与需求,推出的适用于电商行业场景的分析器。
例如:
原始内容:小金管遮瑕膏
中文通用分析器:小 金 管 遮瑕 膏
行业-电商通用分析:小 金管 遮瑕 膏
分词干预
修改高级配置中的chn_ecommerce_general.dict并发布上线即可进行分词干预。分词干预的词条是一个中粒度的词条,引擎内部会对干预的词条再次进行切分成检索粒度。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_ecommerce_general。
行业-游戏通用分析器
分析器介绍
行业-游戏通用分析器(chn_esports_general)是基于游戏数据训练的适用于游戏行业的分析器。
例如:
原始内容:原神装备
中文通用分析器:原 神 装备
行业-游戏通用分析:原神 装备
分词干预
修改高级配置中的chn_esports_general.dict并发布上线即可进行分词干预。分词干预的词条是一个中粒度的词条,引擎内部会对干预的词条再次进行切分成检索粒度。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_esports_general。
行业-教育题目分析器
分析器介绍
行业-教育题目(chn_edu_question)是基于教育题目数据训练的分析器。
例如:
原始内容:矩形leftoabcright的顶点leftoright
中文通用分析器:矩形 leftoabcright 的 顶点 leftoright
行业-教育题目分析:矩形 left oabc right 的 顶点 left o right
分词干预
修改高级配置中的chn_edu_question.dict并发布上线即可进行分词干预。分词干预的词条是一个中粒度的词条,引擎内部会对干预的词条再次进行切分成检索粒度。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_edu_question。
IT内容分析器
分析器介绍
IT内容分析器(chn_it_content)是基于IT内容数据专门训练出来的适用于IT行业的技术性内容的分析器。
例如:
原始内容:c++数组使用注意事项
中文通用分析器:c ++ 数 组 使用 注意 事项
IT-内容分析:c++ 数组 使用 注意 事项
分词干预
修改高级配置中的chn_it_content.dict并发布上线即可进行分词干预。分词干预的词条是一个中粒度的词条,引擎内部会对干预的词条再次进行切分成检索粒度。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_it_content。
模糊分析器
模糊分析器(fuzzy)适用于模糊搜索,模糊搜索是指在用户搜索意图不明确时,搜索引擎将用户的查询(query)与待检索的内容(doc)进行模糊匹配,找出与查询相关的内容。是否相关主要从两个方面衡量:一是query是doc中某些内容的全拼或者简拼;二是query中内容直接在doc中出现。模糊搜索无法精确理解用户的查询意图,返回的结果中可能包括了一大批用户不想要的信息,所以在使用模糊搜索时一定要结合自己的实际场景,慎重使用。
使用模糊分析器schema中指定的分析器为fuzzy,在查询时需要指定analyzer子句,对应的索引的分析器为fuzzy_search_analyzer。
例如:
schema配置
{
"fields":[
{
"field_type":"INT64",
"field_name":"id"
},
{
"field_type":"TEXT",
"field_name":"title",
"analyzer":"fuzzy"
}
],
"summarys":{
"compress":false,
"summary_fields":[
"id",
"title"
]
},
"indexs":[
{
"has_primary_key_attribute":true,
"index_fields":"id",
"is_primary_key_sorted":true,
"index_name":"id",
"index_type":"PRIMARYKEY64"
},
{
"doc_payload_flag":1,
"index_fields":"title",
"index_name":"title_index",
"index_type":"TEXT"
}
],
"attributes":[
"id"
],
"table_name":"test_table"
}
查询query:config=start:0,hit:10,format:json&&query=title_index:'abc'&&analyzer=specific_index_analyzer:title_index#fuzzy_search_analyzer
注:
* title在schema中使用了fuzzy分析器,并创建了title_index
* 查询时通过analyzer子句指定title_index使用fuzzy_search_analyzer
适用场景
模糊搜索主要应用于用户搜索意图不明确或者数据较少,且想返回较多的查询结果的时候。主要包括以下场景。
拼音搜索
介绍:拼音搜索是指doc中的数据为中文,而希望使用全拼或者简拼进行查询的搜索。
案例:
文档内容为:开放搜索
query分别为:”kai”、”kaifang”、”sousuo”、“kaifangsousuo”、”k”、”kf”、”ss”、”kfss”,
均能将此条doc召回
注意事项:
拼音搜索查询时使用双引号查询
如果希望搜索内容在doc中是相连的,建议在查询词两边加上双引号。拼音搜索中查询词两边最好都使用双引号,这是因为用户输入的拼音是具有一定的意图的,用户搜索“kfss”(开放搜索)其实是希望这些词是要连在一起的。
前缀搜索
介绍:前缀搜索是指搜索以指定前缀开头的内容的检索。
案例:
#模糊搜索支持的前缀标识符为’^’,如果用户想搜以138开头的手机号
query可写成”^138”(注意是双引号查询)
注意事项:
不支持中文前缀匹配,
前缀匹配时,query需要用双引号。
后缀匹配
介绍:后缀搜索是指搜索以指定后缀结尾的内容的检索。
案例:
#模糊搜索支持的后缀标识符为’$’,如果用户想搜以9527结尾的手机号
query可以写成”9527$”(注意是双引号查询)
注意事项:
不支持中文后缀匹配,
后缀匹配时,query需要用双引号。
单字或单字母搜索
介绍:模糊搜索支持单字或单字母搜索。单字或单字母这种使用场景主要是为了扩大召回结果,返回的结果可能不是很准确。
案例:
#文档内容为:’开放搜索 open search’
query=default:’放’或者 query=default:’o’都能将其召回
短语查询
介绍:短语查询按双引号限制位置关系,并且只有连续的字母和数字可以用短语查询。
案例:
#1.query=default:"开放搜索"
仅能召回文档内容为“xxx开放搜索xxx”的文档,不能召回“xxx搜索开放xxx”的文档;
#2.query=default:"华为P"
不能召回“华为P20”的文档,因为不符合“只有连续的字母和数字可以用短语查询”的规则。这种场景请使用单引号进行查询。
注意事项:
短语查询使用双引号
短语查询召回的结果准确性更高,减少了文档召回量(一般此类搜索场景建议使用中文通用分词)比较消耗性能。
模糊搜索用于搜索意图不明确或者数据较少想返回更多查询结果的场景,因此除了拼音搜索、前后缀、以及短语查询的场景,基本使用单引号。
注意事项
模糊搜索返回的结果默认按照命中的词在字段的前后位置进行排序。比如某个应用的title字段需要模糊搜索,doc1的内容为开放搜索,doc2的内容为喜欢使用开放搜索,当搜索”kfss”时,doc1默认会排在doc2的前面。
查询时只有英文、数字和拼音支持前缀和后缀搜索,中文不支持。
使用模糊分析器的字段中的标点符号会被过滤掉。
使用模糊分析器的字段中的全角字符会被转为半角字符。
使用模糊分析器的字段中的英文和数字及拼音不支持飘红。
单字分析器
分析器介绍
单字分析器(chn_single)按照单字/单词分词,适合非语义的中文搜索场景。
原始内容:菊花茶123
单字分析器:菊 花 茶 123
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为chn_single。
该分析器不支持分词干预。
简单分析器
分析器介绍
简单分析器(simple)使用空格“ ”对字段内容(或查询词)进行分隔,适合特殊场景下系统自带无法解决的搜索场景,可以实现完全用户控制的效果。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为simple。
该分析器不支持分词干预。
拼音分析器
分析器介绍
拼音全拼分析器(full_pinyin)支持对短文本中的汉字,按照首字母和拼音全拼进行检索。适用于人名、电影名等需要简拼和全拼搜索的场景,而且全拼检索时必须输入汉字的全拼,不能只输部分。
使用全拼分析器时,schema中指定的分析器为full_pinyin,在查询时需要指定analyzer子句,对应的索引的分析器为pinyin_search_analyzer。
例如:文档字段内容为“大内密探007”,则搜索“d”、“dn”、“dnm”、“dnmt”、“dnmt007”、“da”、“danei”、“daneimi”、“daneimitan”等都可以召回。搜索“an”、“anei”等无法召回。
分析器介绍
拼音简拼分析器(first_letter)支持对短文本中的汉字,按照首字母进行检索。适用于人名、电影名等需要简拼搜索的场景。
使用全拼分析器时,schema中指定的分析器为first_letter,在查询时需要指定analyzer子句,对应的索引的分析器为pinyin_search_analyzer。
例如:文档字段内容为“大内密探007”,则搜索“d”、“dn”、“dnm”、“dnmt”、“dnmt0”、“dnmt007”、“m”、“mt”、“mt007”、“007”等都可以召回。
英文分析器
英文-去词根分析器
分析器介绍
英文-去词根分析器(eng_standard)适合于英文语义搜索场景,对于分词后的每个英文单词默认会做去词根、单复数转化。
例如:文档字段内容为“英文分词器 english analyzer”,则搜索“英文分词器”、“english”、“analyz”、“analyzer”、“analyzers”、“analyze”、“analyzed”、“analyzing”等情况下可以召回。
(注意:英文分词器中连续的中文会被分成一个词)
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为eng_standard。
英文-不去词根分析器
分析器介绍
英文-不去词根分析器(eng_nostem)用于英文书名、人名等搜索场景,按照空格及标点符号做分词。
例如:文档字段内容为“英文分词器 english analyzer”,则搜索“英文分词器”、“english”、“analyzer”等情况下可以召回。
(注意:英文分词器中连续的中文会被分成一个词)
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为eng_nostem。
英文-小粒度分析器
分析器介绍
英文-小粒度分析器(en_min)按照英文检索单元做分词,英文语义分词,适用于英文通用行业的分析器,一些连续的单词也可以会被切开。
文档字段内容为"dataprocess",分词结果"data process", 则搜索"dataprocess"、"data process"、"data"、"process"等情况下可以召回。
注意事项
该分析器只适用于TEXT类型字段,在配置schema的时候指定分析器为en_min。
小语种分析器
泰语-通用分析器
泰语-通用分析器(th_standard)按照泰语检索单元做分词,适用于泰语通用行业的分析器。泰语-通用分析器仅适用于TEXT类型字段,在schema配置时需要指定分析器为th_standard。
泰语-电商分析器
泰语-电商分析器(th_ecommerce)按照泰语检索单元做分词,适用于泰语电商行业的分析器。泰语-电商分析器仅适用于TEXT类型字段,在schema配置时需要指定分析器为th_ecommerce。
越南语-通用分析器
越南语-通用分析器(vn_standard)适用于越南语通用行业的分析器,仅适用于TEXT类型字段,在schema配置时需要指定分析器为vn_standard。
- 本页导读 (1)
- 中文通用分析器
- 分析器介绍
- 分词干预
- 注意事项
- 行业分析器
- 行业-电商通用分析
- 行业-游戏通用分析器
- 行业-教育题目分析器
- IT内容分析器
- 模糊分析器
- 适用场景
- 注意事项
- 单字分析器
- 分析器介绍
- 注意事项
- 简单分析器
- 分析器介绍
- 注意事项
- 拼音分析器
- 英文分析器
- 英文-去词根分析器
- 英文-不去词根分析器
- 英文-小粒度分析器
- 小语种分析器
- 泰语-通用分析器
- 泰语-电商分析器
- 越南语-通用分析器