Elasticsearch NGramTokenFilter:Unknown field 'token_chars'

qojgxg4l  于 4个月前  发布在  ElasticSearch
关注(0)|答案(1)|浏览(36)

``我正在升级我的elasticsearch到8.9,同时使用elasticsearch客户端创建文档,我遇到了以下错误
Exception:'cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cl
虽然索引得到创建kibana与相同的Map,但我希望它使它从elasticsearch客户端只

`{ 
    "mappings" : 
        {
            "properties": {
                "suggestion": {
                    "type": "text",
                        "fields": {
                            "analyzed": {
                                "type": "text",
                                "analyzer": "nGram_analyzer",
                                "search_analyzer": "whitespace"
                                }
                            }
                        },
                            "weight": {
                            "type": "integer"
                            }
            }   
        }, 
    "settings" :            
        {
        "number_of_shards": 1,
        "number_of_replicas": 1,
        "max_ngram_diff" : 20,
        "index": {
            "analysis": {
                "analyzer": {
                "nGram_analyzer": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase",
                        "asciifolding",
                        "nGram_filter"
                        ]
                    }
                },
                "filter": {
                    "nGram_filter": {
                        "type": "ngram",
                        "min_gram": 2,
                        "max_gram": 20,
                        "token_chars": [
                            "letter",
                            "digit",
                            "punctuation",
                            "symbol"
                        ]
                    }
                }
            }
        }
    }
}

字符串

1yjd4xko

1yjd4xko1#

我测试它的Map和设置,它的工作正常。
您看到的错误消息表示Elasticsearch客户端在验证NGramTokenFilter时遇到问题,原因是未知字段token_chars。这可能是由于Elasticsearch版本与您使用的客户端版本不匹配。
token_chars字段是NGramTokenFilter的一部分,客户端应该能够识别,如果不能识别,可能是您使用的客户端版本不支持该字段,或者客户端存在bug。
检查客户端的兼容性。https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-compatibility.html

相关问题