【问题标题】:Configuring the standard tokenizer elasticsearch配置标准分词器 elasticsearch
【发布时间】:2018-10-03 13:21:16
【问题描述】:

我在弹性搜索中为我的索引使用默认标记器(标准)。并向其中添加文档。但标准分词器无法拆分具有“。”的单词。点在里面。例如:

POST _analyze
{
  "tokenizer": "standard",
  "text": "pink.jpg"
}

给我的回应是:

{
  "tokens": [
    {
      "token": "pink.jpg",
      "start_offset": 0,
      "end_offset": 8,
      "type": "<ALPHANUM>",
      "position": 0
    }
  ]
}

上面的响应显示了一个词中的整个单词。我们可以在标准分词器中使用“.”(点)运算符将其分为两个术语吗?标准标记器中有任何设置吗?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    使用Standard Tokenizer你无法完成你想要的,但这里Letter Tokenizer可以帮助你

    POST _analyze
    {
      "tokenizer": "letter",
      "text": "pink.jpg"
    }
    

    产生

    {
      "tokens": [
        {
          "token": "pink",
          "start_offset": 0,
          "end_offset": 4,
          "type": "word",
          "position": 0
        },
        {
          "token": "jpg",
          "start_offset": 5,
          "end_offset": 8,
          "type": "word",
          "position": 1
        }
      ]
    }
    

    【讨论】:

      【解决方案2】:

      Letter Tokenizer 会做你想做的事,不确定它是否会涵盖你所有的用例。

      Standard Tokenizer只有一个配置参数,`max_token_length,对你的情况没有帮助。

      【讨论】:

      • 标准分词器中的'max_token_length'配置参数是什么,我们可以用它来吐字吗?
      • @SurajDalvi 是的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多