Elasticsearch Обновление картографического анализатора - PullRequest
0 голосов
/ 27 июня 2019

Я пытался обновить отображение из CURL с настройками многих фильтров. На самом деле, я хочу оптимизировать мой упорный поиск для лучшего результата на французском

Я использую Elasticsearch 7.0.1 Я также использую Rufli / Elastica на PHP7.4 на Symfony 4.3

curl -XPUT 'localhost:9200/products/_mapping' -H 'Content-Type: application/json' -d '{
"settings": {
"index":{
"analysis": {
"filter": {
"french_elision": {
"type": "elision","articles_case": true,"articles": ["l", "m", "t", "qu", "n", "s", "j", "d", "c", "jusqu", "quoiqu", "lorsqu", "puisqu"]
},"french_synonym": {
"type": "synonym","ignore_case": true,"expand": true,"synonyms": []
},"french_stemmer": {
"type": "stemmer","language": "light_french"
}
},"analyzer": {
"french_heavy": {
"tokenizer": "icu_tokenizer","filter": ["french_elision","lowercase","icu_folding","french_synonym","french_stemmer"]
},"french_light": {
"tokenizer": "icu_tokenizer","filter": ["french_elision","icu_folding"]
}
}
}
}
}
}'

Ошибка:

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Root mapping definition has unsupported parameters

1 Ответ

0 голосов
/ 27 июня 2019

Поскольку вы обновляете настройки, а не сопоставления, вам нужно использовать конечную точку _settings, а не _mapping:

curl -XPUT 'localhost:9200/products/_settings' -H 'Content-Type: application/json' -d '{
                                        ^
                                        |
                                   change this
...