Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从solr api和datastax检索文档_Solr_Cassandra_Datastax - Fatal编程技术网

从solr api和datastax检索文档

从solr api和datastax检索文档,solr,cassandra,datastax,Solr,Cassandra,Datastax,我有一个与Datastax上创建的表相关的solr模式。我知道datastax包含整个文档,因此,我创建了solr模式,没有在其上存储字段,只有存储的字段是ID字段 我们使用CQL使用“solr_query”从datastax检索文档。但是,如果字段未存储,我可以直接从solr API检索文档吗 更新1 //创建键空间 创建键空间mykeyspace WITH REPLICATION={'class':'NetworkTopologyStrategy','Cassandra':3,'Solr':

我有一个与Datastax上创建的表相关的solr模式。我知道datastax包含整个文档,因此,我创建了solr模式,没有在其上存储字段,只有存储的字段是ID字段

我们使用CQL使用“solr_query”从datastax检索文档。但是,如果字段未存储,我可以直接从solr API检索文档吗

更新1

//创建键空间

创建键空间mykeyspace WITH REPLICATION={'class':'NetworkTopologyStrategy','Cassandra':3,'Solr':2}

//创建表

创建表mytable( id uuid ,名称文本 ,说明文字 ,主键(id,名称) );

//模式字段

<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'内容类型:text/xml;字符集=utf-8'

curl localhost:8983/solr/resource/mykeyspace.mytable/schema.xml--data binary@schema.xml-H'内容类型:text/xml;字符集=utf-8'

//创建集合

curl“localhost:8983/solr/admin/cores?action=CREATE&name=mykeyspace.mytable”

我们使用CQL使用“solr_query”从datastax检索文档。但是,如果字段未存储,我可以直接从solr API检索文档吗


DSE Search始终将列/字段值存储在Cassandra中,而不考虑模式
存储的
属性(文档中有一些例外),因此您的问题的答案是肯定的,您可以使用CQL和HTTP Solr API检索文档,但请记住,前者应该是首选的,因为在大多数情况下速度更快。

我已将字段更改为存储并使用默认的“/select”处理程序。

您使用的是DSE,对吗?是的,你仍然可以提取非索引字段,只是不能按它们过滤。我已经在使用DSE了。我可以使用CQL进行拉取,并使用CQL中的“solr_query”过滤索引字段。但我们无法使用Solr API提取文档。谢谢@sbtourism。您能告诉我如何通过SolrAPI检索存储的值吗?只需使用标准的Solr查询语法,即:。或者如果您想使用SolrJava客户机:不幸的是,“查询”请求处理程序不可用,当使用默认处理程序“选择”时,它只返回ID。有没有直接的步骤可以做到这一点?Solr或Datastax上是否有实现thast的特定配置?请发布有关如何创建和配置表和索引的完整说明。