Skip to content

增加单字成词的属性 #1075

@gwisdomroof

Description

@gwisdomroof

Problem description

ik_smart/ik_max_word在分词时,如果命中了词语,则不会进一步拆分单字,例如:“唐诗三百首”,采用ik_max_word分词结果为:["唐诗三百首", "唐诗三百", "唐诗", "三百", "首"]
这样的问题在于:如果我只是输入“诗”字,则这篇文档不会被命中。

Preferred solution

  1. ik_smart/ik_max_word新增一个属性splitWord2Char,如果为true,就会将词语拆分成单字。默认为false,以便跟现有的行为一致。
    对ik_max_word而言,“唐诗三百首”的拆分结果将是:["唐诗三百首", "唐诗三百", "唐诗", "三百", "唐", "诗", "三", "百", "首"]

  2. 新增一个ik_char的分词器,将文本拆分成单字。“唐诗三百首”的拆分结果将是:["唐", "诗", "三", "百", "首"]
    这个分词器的目的,主要是解决es本身不能处理Surrogate Pair的宽字节字符,而ik分词器目前能处理,而且对中文分词有很好的支持。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions