根Map定义具有不支持的参数ElasticSearch API

py49o6xq  于 2023-02-18  发布在  ElasticSearch
关注(0)|答案(1)|浏览(166)

我试图设计分析器的标记化,折叠的情况下,停止词删除,词N元语法提取和词干,但写代码后,它不断弹出错误。索引名称是文章和类型名称是文章。我已经尝试删除和重新创建索引分别,我是非常新的ElasticSearch,所以我的代码可能是非常错误的,请帮助。

curl -H "Content-Type: application/json" -XPUT http://localhost:9200/articles/_mapping/article -d '{
  "settings": {
    "analysis": {
      "analyzer": {
        "content_tokenizer": {
          "type": "standard",
          "tokenizer": "standard"
        },
        "content_case_folding": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase"
          ]
        },
        "content_stopword_removal": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "stop"
          ]
        },
        "content_ngram_extraction": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "stop",
            "ngram"
          ]
        },
        "content_stemmer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "stop",
            "ngram",
            "stemmer"
          ]
        }
      },
      "filter": {
        "ngram": {
          "type": "ngram",
          "min_gram": 2,
          "max_gram": 5
        },
        "stop": {
          "type": "stop",
          "stopwords": "_english_"
        },
        "stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "fields": {
          "tokenized": {
            "type": "text",
            "analyzer": "content_tokenizer"
          },
          "case_folded": {
            "type": "text",
            "analyzer": "content_case_folding"
          },
          "without_stopwords": {
            "type": "text",
            "analyzer": "content_stopword_removal"
          },
          "ngrammed": {
            "type": "text",
            "analyzer": "content_ngram_extraction"
          },
          "stemmed": {
            "type": "text",
            "analyzer": "content_stemmer"
          }
        }
      }
    }
  }
}'

它总是带来这个错误
{“错误”:{“根原因”:[{“类型”:“Map器解析异常”,“原因”:“根Map定义具有不受支持的参数:[设置:{分析={分析器={内容标记器={类型=标准,标记器=标准},内容大小写折叠={类型=自定义,标记器=标准,过滤器=[小写]},内容停止词删除={类型=自定义,标记器=标准,过滤器=[小写,停止]},内容ngram提取={类型=自定义,标记器=标准,过滤器=[小写,停止,ngram]},内容词干分析器={类型=自定义,标记器=标准,过滤器=[小写,停止,ngram,词干分析器]}},过滤器={ngram={类型=ngram,最小_gram=2,最大_gram=5},停止={类型=停止,停止词=* 英语 },词干分析器={类型=词干分析器,语言=英语}}}}] [Map:{属性={内容={类型=文本,字段={标记化={类型=文本,分析器=内容标记器},大小写折叠={类型=文本,分析器=内容大小写折叠},无停止词={类型=文本,分析器=内容停止词删除},ngrammed={类型=文本,分析器=内容ngram提取},stemmed ={类型=文本,分析器=内容词干分析器}}}}}]"}],“类型”:“Map器解析异常”,“原因”:“根Map定义具有不支持的参数:[设置:{分析={分析器={内容标记器={类型=标准,标记器=标准},内容大小写折叠={类型=自定义,标记器=标准,过滤器=[小写]},内容停止词删除={类型=自定义,标记器=标准,过滤器=[小写,停止]},内容ngram提取={类型=自定义,标记器=标准,过滤器=[小写,停止,ngram]},内容词干分析器={类型=自定义,标记器=标准,过滤器=[小写,停止,ngram,词干分析器]}},过滤器={ngram={类型=ngram,最小_gram=2,最大_gram=5},停止={类型=停止,停止词= 英语 *},词干分析器={类型=词干分析器,语言=英语}}}}] [Map:{属性={内容={类型=文本,字段={标记化={类型=文本,分析器=内容标记器},大小写折叠={类型=文本,分析器=内容大小写折叠},不带停止词={类型=文本,分析器=内容停止词删除},ngram化={类型=文本,分析器=内容ngram提取},词干化={类型=文本,分析器=内容词干化器}}}}}]"},“状态”:400}

ghhkc1vu

ghhkc1vu1#

URL必须是这样的,也就是说,你创建的是一个带有Map和设置的索引,而不是简单地修改一个现有的索引Map:

curl -H "Content-Type: application/json" -XPUT http://localhost:9200/articles -d '{...}'

相关问题