данные при использовании DSE Solr

Из документации Cassandra Datastax: https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/search/customizeSchemaSearch.html написано:

Поля с indexed="true" индексируются и сохраняются как вторичные файлы в Lucene, чтобы поля были доступны для поиска. Индексированные поля хранятся в базе данных, а не в Lucene, независимо от значения сохраненного значения атрибута, за исключением полей копирования. Назначения полей копирования не сохраняются в базе данных.

Я хотел бы знать, откуда берутся данные при выполнении запроса CQL Solr (например, SELECT first_name, last_name FROM, где solr_query=...).

first_name и last_name извлекаются из базы данных cassandra или из индекса Solr, в котором также хранится поле?

Я не получаю "Поля с indexed="true" индексируются и сохраняются как вторичные файлы в Lucene", а затем "Индексированные поля хранятся в базе данных, а не в Lucene" что кажется противоречивым?

Спасибо за вашу помощь !


person ctamisier    schedule 11.01.2018    source источник


Ответы (1)


Когда вы выпускаете

SELECT first_name, last_name FROM individual WHERE solr_query=...;

first_name и last_name должны существовать в таблице Cassandra individual, они не хранятся в Lucene (как указано в документации).

Строка документации должна гласить:

Поля с indexed="true" индексируются и сохраняются как файлы вторичного индекса в Lucene, поскольку интеграция Solr/Lucene в DSE использует реализацию вторичного индекса Cassandra.

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

person mikea    schedule 12.01.2018