我有一个与在Datastax上创建的表相关的solr模式 . 我知道包含整个文档的datastax所以,我创建了solr模式而没有在其上存储字段,只有存储的字段是ID字段 .
我们使用CQL使用“solr_query”从datastax检索文档 . 但是如果没有存储字段,我可以直接从solr API检索文档吗?
UPDATE 1
//创建密钥空间
创建KEYSPACE mykeyspace WITH REPLICATION = {'class':'NetworkTopologyStrategy','Cassandra':3,'Solr':2};
//创建表格
create table mytable(id uuid,name text,description text,primary key(id,name));
//架构字段
<field name="id" type="uuid" indexed="true" stored="true" multiValued="false" omitNorms="true" termVectors="true" termPositions="true" termOffsets="true" />
<field name="name" type="text_general" indexed="true" stored="false" multiValued="false" omitNorms="true" termVectors="true" termPositions="true" termOffsets="true" />
<field name="description" type="text_general" indexed="true" stored="false" multiValued="false" omitNorms="true" termVectors="true" termPositions="true" termOffsets="true" />
//将配置上传到solr的命令
curl localhost:8983 / solr / resource / mykeyspace.mytable / solrconfig.xml --data-binary @ solrconfig.xml -H'Content-type:text / xml;字符集= UTF-8'
curl localhost:8983 / solr / resource / mykeyspace.mytable / schema.xml --data-binary @ schema.xml -H'Content-type:text / xml;字符集= UTF-8'
//创建集合
卷曲“localhost:8983 / solr / admin / cores?action = CREATE&name = mykeyspace.mytable”
2 回答
DSE搜索始终在Cassandra中存储列/字段值,而不管架构
stored
属性(有一些例外情况),因此您的问题的答案是肯定的,您可以使用CQL和HTTP Solr API检索文档,但请记住前者应该在大多数时候更快 .我已将字段更改为STORED并使用默认的“/ select”处理程序