使用 DSE Solr 时的数据

data when using DSE Solr

来自 Cassandra Datastax 文档:https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/search/customizeSchemaSearch.html,它是这样写的:

Fields with indexed="true" are indexed and stored as secondary files in Lucene so that the fields are searchable. The indexed fields are stored in the database, not in Lucene, regardless of the value of the stored attribute value, with the exception of copy fields. Copy field destinations are not stored in the database.

我想知道当 运行 CQL Solr 请求(例如 SELECT first_name、last_name FROM individual where solr_query=...).

first_name 和 last_name 是从 cassandra 数据库或存储字段的 Solr 索引中获取的 ?

我不明白 "Fields with indexed="true" 被索引并存储为 Lucene 中的辅助文件" 然后 "The indexed fields are stored in the database, not in Lucene" 这似乎是矛盾的?

感谢您的帮助!

当你发出

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

first_namelast_name 必须存在于 Cassandra table individual 中,它们不存储在 Lucene 中(如文档所述)。

文档行应为:

具有 indexed="true" 的字段在 Lucene 中被索引并存储为二级索引文件,因为 DSE 中的 Solr / Lucene 集成使用 Cassandra 二级索引实现。

搜索这些索引文件并返回一组用于从 Cassandra 读取行的唯一 ID table。