doris `unicode` 是多语言混合类型分词与elasticsearch分词差异

发布于:2025-08-05 ⋅ 阅读:(11) ⋅ 点赞:(0)

1. Doris 的 unicode 分词器

特点:
  • 按字符分词:将文本按 Unicode 字符逐个切分(例如中文按单字、英文按字母),适合多语言混合或小语种场景。

  • 简单通用:无需依赖词典或复杂规则,直接按字符拆分。

  • 支持特殊格式:对邮箱、IP、数字字母混合文本有较好的处理能力。

优势:
  • 多语言友好:对小语种(如阿拉伯语、泰语、梵文)和混合语言文本(中英日韩混合)支持良好。

  • 轻量级:无需额外配置词典,适合简单分词需求。

  • 存储紧凑:适用于 OLAP 场景,结合 Doris 的列式存储,适合高效聚合查询。

局限性:
  • 语义缺失:无法按词语切分(例如中文“北京”会被拆分为“北”和“京”),可能影响搜索相关性。

  • 无高级功能:不支持词干提取(如英文复数转单数)、同义词扩展、停用词过滤等。

  • 性能代价:按字符切分可能生成大量分词,影响索引和查询性能。


2. Elasticsearch 的分词器

特点:
  • 灵活多样:提供丰富的分词器(如 standardikicungram 等)和插件机制。

  • 语义支持:支持按词语切分(如中文分词器 ik)、词干提取、同义词扩展、停用词过滤等。

  • 定制化强:可通过配置规则、词典或自定义插件实现复杂分词逻辑。

优势:
  • 高相关性:支持语义分词(如中文按词切分),提升搜索准确率。

  • 高级功能:支持词干提取(如英文 "running" → "run")、同义词扩展(如 "手机" → "电话")等。

  • 多场景适配:针对不同语言(如中文、日文、韩文)有专用分词器(如 ikkuromojinori)。

局限性:
  • 配置复杂:需根据语言选择合适的分词器,并可能需要维护词典。

  • 资源消耗:复杂分词逻辑可能增加索引和查询的延迟。

  • 小语种支持有限:对小语种需依赖通用分词器(如 icu),效果可能不如 Doris 的字符级切分。


对比总结

多语言混合/小语种 ✅ 按字符切分,天然支持,分词效果一般 ✅ 不同的语种依赖特定分词器(如 ru),不是原生支持的语种需要额外的配置和词典维护
中文语义分词 ❌ 仅支持单字切分 ✅ 专用分词器(如 ik)支持按词切分
高级功能 ❌ 不支持词干提取、同义词等 ✅ 支持丰富的高级功能
配置复杂度 ✅ 无需配置,开箱即用 ❌ 需根据语言选择分词器并维护词典
性能与存储 ✅ 轻量级,适合 OLAP 场景 ❌ 复杂分词可能增加资源消耗

Doris分词示例:

示例一 中文分词:

SELECT TOKENIZE('武汉长江大桥','"parser"="chinese","parser_mode"="fine_grained"');

+-----------------------------------------------------------------------------------+

| tokenize('武汉长江大桥''"parser"="chinese","parser_mode"="fine_grained"')       |

+-----------------------------------------------------------------------------------+

| ["武汉""武汉长江大桥""长江""长江大桥""大桥"]                              |

+-----------------------------------------------------------------------------------+

示例二 英文分词:

SELECT TOKENIZE('I love CHINA','"parser"="english"');

+------------------------------------------------+

| tokenize('I love CHINA''"parser"="english"') |

+------------------------------------------------+

| ["i""love""china"]                         |

+------------------------------------------------+

示例三 混合分词:

SELECT TOKENIZE('I love CHINA 我爱我的祖国','"parser"="unicode"');

+-------------------------------------------------------------------+

| tokenize('I love CHINA 我爱我的祖国''"parser"="unicode"')       |

+-------------------------------------------------------------------+

| ["i""love""china""我""爱""我""的""祖""国"]        |

+-------------------------------------------------------------------+

分词结果比较:

西班牙语 "LAMPARA LED,S/M,S/M, LAMPARA LED C-1790 USO COMERCIAL ARTICULO COMERCIAL - MITE SONIDO. 5W. CON CONTROL Y CABLE DE CARGA 1M. 8.4*8.4*16CM DE PLASTICO - CON ACCESORIOS" 分词

doris:

SELECT TOKENIZE('LAMPARA LED,S/M,S/M, LAMPARA LED C-1790 USO COMERCIAL ARTICULO COMERCIAL - MITE SONIDO. 5W. CON CONTROL Y CABLE DE CARGA 1M. 8.4*8.4*16CM DE PLASTICO - CON ACCESORIOS''"parser"="unicode"');

+------------------------------------------------+

| tokenize('LAMPARA LED,S/M,S/M, LAMPARA LED C-1790 USO COMERCIAL ARTICULO COMERCIAL - MITE SONIDO. 5W. CON CONTROL Y CABLE DE CARGA 1M. 8.4*8.4*16CM DE PLASTICO - CON ACCESORIOS''"parser"="unicode"') |

+------------------------------------------------+

| ["lampara""led""s""m""s""m""lampara""led""c""1790""uso""comercial""articulo""comercial""mite""sonido""5w""con""control""y""cable""de""carga""1m""8.4""8.4""16cm""de""plastico""con""accesorios"]

+------------------------------------------------+

elasticsearch

{

  "analyzer""text_es",

  "text""LAMPARA LED,S/M,S/M, LAMPARA LED C-1790 USO COMERCIAL ARTICULO COMERCIAL - MITE SONIDO. 5W. CON CONTROL Y CABLE DE CARGA 1M. 8.4*8.4*16CM DE PLASTICO - CON ACCESORIOS"

}

分词结果:

[  "lampar",  "led",  "s",  "m",  "s",  "m",  "lampar",  "led",  "c",  "1790",  "uso",  "comercial",  "articul",  "comercial",  "mite",  "sonid",  "5w",  "con",  "control",  "y",  "cabl",  "de",  "carg",  "1m",  "8",  "4",  "8",  "4",  "16cm",  "de",  "plastic",  "con",  "accesori"]

俄罗斯语 "ДЕКОРАТИВНЫЕ ИЗДЕЛИЯ ИЗ ПЛАСТМАССОВЫХ МАТЕРИАЛОВ - КАШПО ПЛАСТИКОВЫЕ ДЕКОРАТИВНЫЕ И ПЛАСТИКОВЫЕ/ АКСЕССУАРЫ К (НИМ,) ДЛЯ ГОРШЕЧНЫХ РАСТЕНИЙ,/ ВСЕГО 8 ШТ, В КАРТ.КОРОБКАХ, НА ЧАСТИ (ПАЛЛ.LECHUZA) BALCONERA COLOR, = 6 ШТ., LECHUZA CANTO STONE 30 HIGH =" 分词

doris结果:

["ДЕКОРАТИВНЫЕ""ИЗДЕЛИЯ""ИЗ""ПЛАСТМАССОВЫХ""МАТЕРИАЛОВ""КАШПО""ПЛАСТИКОВЫЕ""ДЕКОРАТИВНЫЕ""И""ПЛАСТИКОВЫЕ""АКСЕССУАРЫ""К""НИМ""ДЛЯ""ГОРШЕЧНЫХ""РАСТЕНИЙ""ВСЕГО""8""ШТ""В""КАРТ.КОРОБКАХ""НА""ЧАСТИ""ПАЛЛ.lechuza""balconera""color""6""ШТ""lechuza""canto""stone""30""high"]

elasticsearch:

[  "декоративн",  "издел",  "пластмассов",  "материал",  "кашп",  "пластиков",  "декоративн""пластиков",  "аксессуар",  "горшечн",  "растен",  "8",  "шт",  "карт",  "карткоробк",  "коробк",  "част",  "палл",  "паллlechuza",  "lechuza",  "balconera",  "color",  "6",  "шт",  "lechuza",  "canto",  "stone",  "30",  "high"]

结论

  • 如果需求是简单的多语言混合分词或小语种支持:Doris 的 unicode 分词器更轻量、直接。

  • 如果需要语义分词或高级搜索功能:Elasticsearch 的分词器效果更好。


网站公告

今日签到

点亮在社区的每一天
去签到