奇怪的内置 "classic" 分析器?

Weird built-in "classic" analyzer?

这是内置分析器的官方列表:https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analysis-analyzers.html

令我惊讶的是,当我使用分析器的“经典”时,它起作用了,结果实际上是我想要使用的:

POST /_analyze
{
 "analyzer": "classic",
 "text": "this is a test 123-456-789"
}

并给出:[测试,123-456-789]

我不知道这个经典的分析器是什么,但它符合我的目的! 我想继续阅读以获取详细信息,但没有任何信息!

有“经典”分词器:

POST /_analyze
{
 "tokenizer": "classic",
 "text": "this is a test 123-456-789"
}

但是结果不一样:[this,is,a,test,123-456-789]

那么问题来了,有人知道这个“经典”分析仪是什么吗? 我想一般来说,如何检查弹性搜索中的任何内置分析器设置?

ClassicAnalyzer 是一个原生的 Lucene 分析器,由以下部分组成:

因此您正在进行的第二个测试未完成,因为它缺少令牌过滤器,它应该是这样的:

POST /_analyze
{
  "tokenizer": "classic",
  "filter": [
    "classic",
    "lowercase",
    "stop"
  ],
  "text": "this is a test 123-456-789"
}

这会产生与 classic 分析器相同的标记,即 [ test, 123-456-789 ]