我现在正在尝试使用现有的Datastax Cassandra集群。 Cassandra本身很容易上手,而且工作得非常好。但是,老实说,我似乎无法弄清楚如何让Solr Searching工作。
我应该有一个solrconfig.xml文件但是我似乎没有机器上的任何地方。 Solr和cassandra当然似乎安装正确。
我尝试了一个不起作用的solr_query请求。我尝试将其连接到具有相同结果的普通节点和Solr节点。
test.user@cqlsh:Datafyer> select "Title" from "Table" where solr_query = 'title:test*';
InvalidRequest: Error from server: code=2200 [Invalid query] message="Undefined name solr_query in where clause ('solr_query = 'title:test*'')"
我确实在搜索节点上验证了SOLR_ENABLED = 1。 节点本身就是系统的一部分,如下所示。
administrator@dse-search-qa01:/usr/share/dse$ nodetool ring
Datacenter: Analytics
==========
Address Rack Status State Load Owns Token
10.10.98.7 rack1 Up Normal 325.86 KB ? -7438423332917368512
Datacenter: Cassandra
==========
Address Rack Status State Load Owns Token
6175281243369380764
10.10.98.3 rack1 Up Normal 441.55 KB ? 4412916390327649050
10.10.98.5 rack1 Up Normal 442.44 KB ? 4563214312080485226
10.10.98.1 rack1 Up Normal 451.64 KB ? 6175281243369380764
Datacenter: Solr
==========
Address Rack Status State Load Owns Token
10.10.98.9 rack1 Up Normal 447.89 KB ? -8974470140210234803
答案 0 :(得分:1)
看起来您没有为'solr_query'创建索引。如果你只是在试验,你可以简单地运行:
dsetool create_core <keyspace>.<table> generateResources=true reindex=true
(有关更多选项,请参阅:https://docs.datastax.com/en/datastax_enterprise/5.0/datastax_enterprise/tools/dsetool.html)
这将为您创建Solr配置和架构XML文件,并为已经处于静止状态的数据建立索引。默认情况下,这将索引所有列并执行自动类型检测以创建相应的索引。
当您准备好深入了解DSE搜索时,我建议您查看此课程:https://academy.datastax.com/resources/ds310-datastax-enterprise-search
最佳, 马克