【问题标题】:Weird built-in "classic" analyzer?奇怪的内置“经典”分析器?
【发布时间】:2021-07-27 14:19:48
【问题描述】:

这是内置分析器的官方列表: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 ]

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

【问题讨论】:

    标签: elasticsearch elasticsearch-analyzers


    【解决方案1】:

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

    所以你做的第二个测试是不完整的,因为它缺少令牌过滤器,它应该是这样的:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多