Как создать индекс эластичного поиска только для нескольких столбцов в существующей таблице cassandra

#elasticsearch #elassandra

#elasticsearch #elassandra

Вопрос:

У меня есть таблица на Elassandra. Мне нужно создать индекс эластичного поиска только для нескольких столбцов этой таблицы, а не для всей таблицы.

{«discover»:». *»} опция создает индекс для всех столбцов таблицы. Но я не могу создать индекс для нескольких столбцов.

 curl -XPUT -H 'Content-Type: application/json' 'http://localhost:9200/test_idx' -d '{
"settings": {"keyspace":"dm" },
       "mappings": {
           "mytable": { 
              "properties": {
                     "did": { "type": "text" },
                     "defectx": { "type": "float" },
                     "defecty": { "type": "float" },
                     "mdc": { "type": "text" }
                            }
        }
    }
}'
  

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

Комментарии:

1. какова ваша эластичная версия? пожалуйста, предоставьте эластичный ответ

2. Я могу создать индекс для нескольких столбцов, передав cql_collection. «did»: {«type»: «text», «cql_collection»:»singleton» }

Ответ №1:

Ваш синтаксис правильный для создания индекса для нескольких столбцов в существующей таблице. Убедитесь, что индекс еще не существует, и ваше пространство ключей и имена таблиц указаны правильно.

Комментарии:

1. Проверял их несколько раз. Все верно, и этот индекс не существует

2. Я могу создать индекс для нескольких столбцов, передав cql_collection. «did»: {«type»: «text», «cql_collection»:»singleton» }