solr - 如何在 cassandra 中选择行以在 solr 中建立索引

标签 solr cassandra

我在 cassasndra 中有行,我将如何继续查询这些行以便为它们建立索引,例如在 solr 中。我应该使用什么查询或什么方式来一次查询 cassandra 中的所有这些行?

最佳答案

请在下面找到集成 Cassandra 和 Solr 的示例:

CREATE TABLE tutor (
id int,
name text,
org text,
dep text,
sal text,
place text,
PRIMARY KEY ((org),name)

)

cqlsh:test> select * FROM tutor;

org | name | dep | id | place | sal    
------+------+------+----+---------+------    
org1 | abc | dep1 | 1 | sanjose | 4500    
org1 | bbb | dep1 | 2 | sanjose | 5500    
org2 | ccc | dep1 | 3 | sanjose | 5500    
org2 | ddd | dep2 | 4 | sanjose | 5500    
org2 | eee | dep3 | 5 | sanjose | 4500    
org2 | fff | dep4 | 6 | sanjose | 7500

SOLR 和 Cassandra 集成的要求:

Solr 版本:

解决方案 4.9.0

库/ jar :

Cassandra :

cassandra-all-1.2.5.jar

libthrift-0.6.0.jar

cassandra-thrift-1.2.5.jar

数据导入处理程序:

solr-dataimporthandler-4.9.0.jar

solr-dataimporthandler-extras-4.9.0.jar

MySql:

mysql-connector-java-5.1.31-bin.jar 在 Solor 中:要更新以下文件:

• dataconfig.xml
• schema.xml
• solorconfig.xml
• 数据配置文件

在这里我们必须更新 CASSANDRA 的 JDBC 连接器。

< dataConfig>    
< dataSource type="JdbcDataSource"    
driver="org.apache.cassandra.cql.jdbc.CassandraDriver"    
url="jdbc:cassandra://10.234.31.231:9160/test"    
autoCommit="true"/>    
< document name="content">    
< entity name="test"    
query="SELECT id,org,name,dep,place,sal from tutor" autoCommit="true">    
< field column="id" name="id" />    
< field column="org" name="org" />    
< field column="name" name="name" />    
< field column="dep" name="dep" />    
< field column="place" name="place" />    
< field column="sal" name="sal" />    
< entity>    
< document>    
< dataConfig>

架构.xml

< field name="id" type="string" indexed="true" stored="true" required="true" />    
< field name="org" type="string" indexed="true" stored="true" required="true" />    
< field name="dep" type="string" indexed="true" stored="true" required="true" />    
< field name="place" type="string" indexed="true" stored="true" required="true" />    
< field name="sal" type="string" indexed="true" stored="true" required="true" />

Solorconfig.xml

< ! - - Add your library Path - →    
< lib dir="/home/solr/lib" regex="solr-dataimporthandler-.*.jar" />    
< lib dir="/home/solr/lib" regex="cassandra-jdbc-.*.jar" />    
< lib dir="/home/solr/lib" regex="cassandra-all-.*.jar" />    
< lib dir="/home/solr/lib" regex="cassandra-thrift-.*.jar" />    
< lib dir="/home/solr/lib" regex="libthrift-.*.jar" />    
. . . . . . . . . . .    
. . . . . . . . . . . . .    
. . . . . . . . . . . . . . . .

< requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
< lst name="defaults">    
< str name="config">dataconfigCassandra.xml    
< /lst>

关于solr - 如何在 cassandra 中选择行以在 solr 中建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922696/

相关文章:

solr - 如何在Titan图形服务器上利用ElasticSearch/Solr搜索API?

java - Solr:创建一个具有多个值的默认值的多值字段?

apache-spark - 每个分区的 Spark-cassandra-connector 限制

amazon-ec2 - Cassandra Amazon EC2 ,很多 IOWait

solr - 在 solr facet 查询搜索中使用通配符

solr - 在最近的 solr-jetty 更新后,如何让 Solr 和 CKAN 在 Ubuntu 18.04 上运行?

solr - 在 Lucene/Solr 中按最近访问排序

python - 如何在 Python 中将 dict 绑定(bind)到准备好的 Cassandra 语句?

cassandra - 如何查看长时间运行的 Cassandra 操作的进度?

cassandra - 一致性级别的读/写策略