Pattern Analyzer(模式分析器)

pattern analyzer 使用正则表达式将文本拆分为词语。 正则表达式应该不是token本身匹配 token separators。 正则表达式默认为\ W +(或所有非字符字符)。

Beware of Pathological 正则表达式

pattern analyzer 使用java正则表达式

一个严重的正则表达式可能会运行得非常慢,甚至会抛出一个StackOverflowError,并导致它正在运行的节点突然退出。

阅读更多关于pathological正则表达式和如何避免它们。

定义

它包括:

Tokenizer(分词器)

Token filters(词语过滤器)

输出实例

POST _analyze
{
  "analyzer": "pattern",
  "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}

上述的句子将产生以下的词语:

[ the, 2, quick, brown, foxes, jumped, over, the, lazy, dog, s, bone ]

配置

pattern analyzer 接受以下参数:

pattern

Java正则表达式默认为\ W +

flags

Java正则表达式标志。 标志应分开管道,例如“CASE_INSENSITIVE | COMMENTS”。

lowercase

是否应该降低条件? 默认为true。

stopwords

预定义的 stop 词列表,如_english_或包含停止词列表的数组。 默认为 _none_。

stopwords_path

包含停止词的文件的路径。

有关stop word配置的更多信息,请参阅Stop Token Filter

Last updated