Skip to content

nGram and edgeNGram names don't throw an error with custom filters on ES 7+ #50360

Closed
@ankane

Description

@ankane

Elasticsearch version (bin/elasticsearch --version): 7.0.0 - 7.5.1

Plugins installed: []

JVM version (java -version): n/a

OS version (uname -a if on a Unix-like system): n/a

Description of the problem including expected versus actual behavior:

Hi, according to the docs, the nGram and edgeNGram token filter should throw an error in ES 7 (since they've been replaced with ngram and edge_ngram). However, this doesn't appear to be the case if you use them in custom filters.

Steps to reproduce:

curl -X PUT "localhost:9200/my_index?pretty" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "analysis": {
      "analyzer": {
        "bad_analyzer": { 
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "bad_filter"
          ]
        }
      },
      "filter": {
        "bad_filter": {
          "type": "nGram"
        }
      }
    }
  }
}
'
curl -X GET "localhost:9200/my_index/_analyze?pretty" -H 'Content-Type: application/json' -d'
{
  "analyzer": "bad_analyzer", 
  "text":     "Is this déjà vu?"
}
'

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions