0

来自 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 individual where solr_query=...)。

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

我没有得到“索引=“true”的字段被索引并存储为 Lucene 中的辅助文件”,然后“索引字段存储在数据库中,而不是 Lucene 中”,这似乎是矛盾的?

谢谢你的帮助 !

4

1 回答 1

1

When you issue

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

first_name and last_name must exist in the Cassandra table individual, they are not stored in Lucene (as the documentation states).

The line of documentation should read:

Fields with indexed="true" are indexed and stored as secondary index files in Lucene because the Solr / Lucene integration in DSE uses Cassandra secondary index implementation.

These index files are searched and a set of unique IDs returned that are used to read rows from the Cassandra table.

于 2018-01-12T13:30:46.380 回答