弹性搜索:创建由<space>或“ - ”和大于3个字符分隔的标记,同时保留原始字段值

时间:2017-05-11 12:02:46

标签: regex elasticsearch

在我的弹性搜索设置中,我想创建由“”或“ - ”和大于3个字符分隔的标记,并且还希望保留原始字段值。我相信模式标记器可以工作,但我无法创建正则表达式。 例如:对于字段值为“This-is my token”。预期的令牌是“This”,“token”和“This-is my token”。

我已经尝试过以下索引,但它没有返回原始值。

PUT m_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "type": "custom",
          "tokenizer": "my_tokenizer"
        },
        "default_search": {
          "type": "custom",
          "tokenizer": "my_tokenizer"
        }
      },
      "tokenizer": {
        "my_tokenizer": {
          "type": "pattern",
          "pattern": "[^\\s-]{4,}",
          "group": 0
        }
      }
    }
  }
}

请帮我正则表达

0 个答案:

没有答案