子句说明
analyzer部分可以指定查询串的分词方式。可以指定全局或某些特定index的分词方式,也可以指定某些index不分词。
子句语法
analyzer=analyzer_descriptioncon [{',' analyzer_descriptioncon}]
多个analyzer_descriptioncon用逗号连接,analyzer_descriptioncon为下列表中的值,各参数含义及其取值如下表所示:
参数名 | 取值范围 | 默认值 | 参数说明 |
no_tokenize_indexes | index_name1';'index_name2 | 无 | 支持查询中指定的index不分词(除分词以外的其他流程如归一化、去停用词会正常执行),多个index之间用';'分割 |
specific_index_analyzer | index_name'#'analyzer_name | 无 | 查询中指定index使用另外的分词器,该分词器会覆盖global_analyzer和schema的分词器。指定多个index时用';'隔开,例如:index1'#'analyzer1;index2'#'analyzer2。指定的值必须在analyzer.json里有配置 |
global_analyzer | IDENTIFIER | 无 | 查询中指定全局的分词器,该分词器会覆盖schema的分词器,指定的值必须在analyzer.json里有配置。 如没有指定global_analyzer,并且index不在specific_index_analyzer,no_tokenize_indexes,则按照建索引时候schema.json里配置的analyzer进行分词处理 |
示例:
analyzer=global_analyzer:singlews_analyzer,no_tokenize_indexes:default,specific_index_analyzer:default#extend_analyzer;index2#aliws
注:该查询指定default("笔记本")不分词,index2("联想")用aliws分词,global_analyzer指定的index(“华硕”)用singlews_analyzer分词
注意事项
analyzer子句为可选子句
analyzer子句中no_tokenize_indexes 、specific_index_analyzer >、global_analyzer 、schema中的analyzer的优先级如下:no_tokenize_indexes > specific_index_analyzer > global_analyzer > schema。比如:index1在no_tokenize_indexes和specific_index_analyzer中均出现,因no_tokenize_indexes优先级更高,故index1不分词。
未填写analyzer子句,则采用schema指定的分词器 。