Невозможно обновить индекс в elassandra

Я очень плохо знаком с elassandra и столкнулся с проблемой при попытке обновить индекс, который я создал ранее. Я изначально создал индекс, как показано ниже

    curl -XPUT 'http://xxx.xx.xx.xxx:xxxx/yesanoa?pretty' -H 'Content-Type:   
    application/json' -d'
    {
    "settings": {
    "index.mapping.ignore_malformed": true,
    "analysis": {
    "normalizer": {
    "yesanoa_norm": {
      "type": "custom",
      "char_filter": [],
      "filter": ["lowercase", "asciifolding"]
      }
      }
      }
      },
      "mappings": {
      "movies": {"discover" : ".*","properties" : {"title" : {
                 "type" : "text", "normalizer": "yesanoa_norm", "index" : 
      "analyzed"},"site_review" : {
                 "type" : "text", "normalizer": "yesanoa_norm", "index" : 
      "analyzed"}}}}}'

И я пытаюсь обновить это, как показано ниже,

    curl -XPUT 'http://xxx.xx.xx.xxx:xxxx/yesanoa/genre' -d'{
    "mappings": {
    "genre": {"discover" : ".*","properties" : {"title" : {
                 "type" : "text", "normalizer": "yesanoa_norm", "index" : 
    "analyzed"}}}}}'

Я получаю следующую ошибку

"Не найден обработчик для uri [/yesanoa/genre] и метода [PUT][root@dbcasyn elassandra-5.5.0.4]"

Я попытался перестроить индекс с помощью параметра nodetool. Но ничего не сработало.

Пожалуйста, помогите мне, ребята, в этом.

1 ответ

Если у вас есть существующий индекс и вы хотите добавить новый тип (до Elaticsearch/Elassandra v5), вы используете следующий синтаксис:

PUT anIndex/_mapping/aType
{
  "properties": {
     "aProperty": {
        "type": "text"
      }
   }
 }

См. Документацию по эластичному поиску Put Mapping.

РЕДАКТИРОВАТЬ: Кстати, обновление отображения не поддерживает discovery вариант. Вы должны сделать это явно.

Другие вопросы по тегам