Cassandra Solr 搜索入门

Getting started with Cassandra Solr Search

我有一个现有的 Datastax Cassandra 集群,我目前正在试验它。 Cassandra 本身很容易上手并且运行良好。但是,老实说,我似乎无法弄清楚如何让 Solr 搜索工作。

我应该有一个 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

您似乎没有为 '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

最好的, 马克