搭建完成solr cloud的集群之后,接下来的工作就是需要向集群中导入数据,之后可能要更新数据,或者删除数有,假设有有一个服务的schema中的field是这样定义的:
<fields> <field name="id" type="string" indexed="true" stored="true" required="true" /> <field name="name" type="text" indexed="true" stored="true" required="true" /> <field name="age" type="string" indexed="true" stored="true" /> <field name="comefrom" type="string" indexed="true" stored="true" /> <field name="_version_" type="long" indexed="true" stored="true"/> </fields>
新增记录
首先可以通过最简便的方式向集群中添加数据,在cmd命令行中敲入以下命令:
java -Durl=http://localhost:8983/solr/update -jar post.jar terminator.xmlterminator.xml 文件的内容是:
<add> <doc> <field name="id">9999999</field> <field name="name">abcdefghijkmn</field> <field name="source">kkkkkkkkkkkkkkkkkkkkk</field> <!-- Join --> <field name="shape">gggggggggggggg</field> <field name="ptvector">llllllllllllllll</field> <field name="quad">quadquadquadquadquad</field> <field name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</field> </doc> <doc> <field name="id">9999998</field> <field name="name">abcdefghijkmn</field> <field name="source">kkkkkkkkkkkkkkkkkkkkk</field> <!-- Join --> <field name="shape">gggggggggggggg</field> <field name="ptvector">llllllllllllllll</field> <field name="quad">quadquadquadquadquad</field> <field name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</field> </doc> <doc> <field name="id">9999997</field> <field name="name">abcdefghijkmn</field> <field name="source">kkkkkkkkkkkkkkkkkkkkk</field> <!-- Join --> <field name="shape">gggggggggggggg</field> <field name="ptvector">llllllllllllllll</field> <field name="quad">quadquadquadquadquad</field> <field name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</field> </doc> <doc> <field name="id">9999996</field> <field name="name">abcdefghijkmn</field> <field name="source">kkkkkkkkkkkkkkkkkkkkk</field> <!-- Join --> <field name="shape">gggggggggggggg</field> <field name="ptvector">llllllllllllllll</field> <field name="quad">quadquadquadquadquad</field> <field name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</field> </doc> </add>
成功执行命令:
D:\download\solr-4.1.0\solr-4.1.0\example\exampledocs>
java -Durl=http://localhost:8983/solr/update -jar post.jar terminator.xm
SimplePostTool version 1.5 Posting files to base url http://localhost:8983/solr/update using content-type application/xml..
POSTing file terminator.xml 1 files indexed. COMMITting Solr index changes to http://localhost:8983/solr/update..
java -Durl=http://localhost:8983/solr/update -jar post.jar terminator.xm
SimplePostTool version 1.5 Posting files to base url http://localhost:8983/solr/update using content-type application/xml..
POSTing file terminator.xml 1 files indexed. COMMITting Solr index changes to http://localhost:8983/solr/update..
Document的share规则:
通过以上命令,成功将4条记录插入到了集群中。在solr节点的查询页面进行查询,显示结果集如下:
<?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">3967</int> <lst name="params"> <str name="fl">*,[shard]</str> <str name="indent">true</str> <str name="q">id:999999*</str> <str name="wt">xml</str> </lst> </lst> <result name="response" numFound="4" start="0" maxScore="1.0"> <doc> <str name="id">9999999</str> <str name="name">abcdefghijkmn</str> <str name="source">kkkkkkkkkkkkkkkkkkkkk</str> <str name="shape">gggggggggggggg</str> <str name="ptvector">llllllllllllllll</str> <str name="quad">quadquadquadquadquad</str> <str name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</str> <long name="_version_">1434087019164729344</long> <str name="[shard]">10.1.31.91:80/solr/collection1/</str></doc> <doc> <str name="id">9999998</str> <str name="name">abcdefghijkmn</str> <str name="source">kkkkkkkkkkkkkkkkkkkkk</str> <str name="shape">gggggggggggggg</str> <str name="ptvector">llllllllllllllll</str> <str name="quad">quadquadquadquadquad</str> <str name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</str> <long name="_version_">1434087019165777920</long> <str name="[shard]">10.1.31.91:80/solr/collection1/</str></doc> <doc> <str name="id">9999997</str> <str name="name">abcdefghijkmn</str> <str name="source">kkkkkkkkkkkkkkkkkkkkk</str> <str name="shape">gggggggggggggg</str> <str name="ptvector">llllllllllllllll</str> <str name="quad">quadquadquadquadquad</str> <str name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</str> <long name="_version_">1434087018344742912</long> <str name="[shard]">10.1.31.91:8983/solr/collection1/</str></doc> <doc> <str name="id">9999996</str> <str name="name">abcdefghijkmn</str> <str name="source">kkkkkkkkkkkkkkkkkkkkk</str> <str name="shape">gggggggggggggg</str> <str name="ptvector">llllllllllllllll</str> <str name="quad">quadquadquadquadquad</str> <str name="geohash">geohashgeohashgeohashgeohashgeohashgeohash</str> <long name="_version_">1434087018867982336</long> <str name="[shard]">10.1.31.91:8983/solr/collection1/</str></doc> </result> </response>
大家会发现在输出的结果集上有一个[shard]字段,标识该条记录存储在集群中的哪个share分区中。要在结果集中shard字段可以通过设置 fl=*,[shard]做到。从[shard]属性的值来看四条记录被均匀的分布到了两个share中。
更新数据
删除数据
java -Ddata=args -jar post.jar '<delete><id>9999996</id></delete>'
或者
java -Ddata=args -jar post.jar '<delete><query>id:9999996</query></delete>'
经过测试,以上两条命令都可以成功删除id为9999996的那条记录。
相关推荐
solr cloud6.x.x 都可以用,solr的拼音分词
Solr定时更新Solr定时更新
华为 fusioninsight solrtest solrcloud java客户端测试
利用python的pycurl对Solr进行原子更新操作
kafka-solr-sink连接器这是基于Java的简单Solr Sink Kafka连接器,它从kafka主题获取纯json数据并推送到solr,同时支持solr cloud和独立模式。 注意:仅支持JSON数据,对于值转换器,请保留schemas.enable=false 。...
solr6定时增量更新jar包
solrcore 添加修改控制
Solr-SQL为Solr Cloud提供了SQL接口,开发人员可以通过JDBC协议在Solr Cloud上运行。同时,solr-sql是用于solr的Apache Calcite(见 http://calcite.apache.org)适配器。solr-sql 是用 Scala 编写的,它可以生成像 ...
solr增量更新-
1. Solr Cloud 2. 函数查询 3. 地理位置查询 4. JSON Facet 章节四:Solr高级(下) 1. 深度分页 2. Solr Join查询 3. 相关度排序 4.Solr缓存 5.Spring Data Solr 章节五:综合案例,电商网站搜索页面 1.关键字搜索...
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询
solr
windows环境 1.伪集群,将压缩包解压后放在以下目录中(任意盘,此处是E:) :E:\solr\solr-5.3.0-cloud 2.修改 solr_home1\bin\solr.in.cmd中的SOLR_HOST 3.运行build脚本
Solr数据库插入(全量和增量)索引,全量一般用于第一次创建索引情况,批量一般更新数据部分创建索引。
一个用于启动/停止Apache Solr Cloud的Maven插件。 安装 在Maven Central上可用的发行版 < groupId>io.github.borisnaguet < artifactId>solr-maven-plugin < version>0.5.0 Sonatype信息库中的快照(每次推...
solr增量导入更新索引包
文件中包括:1:solr4.4.0安装部署详细文档,solr-4.4.0.tgz 安装包2:ik分词器详细配置,IKAnalyzer2012FF_u1.jar和IKAnalyzer2012_FF.jar包3:solr和数据库实现实时数据同步更新,以及更新索引。solr-...
solr
SolrCloud使用 SolrCloud的集合(SolrCores)管理API 添加集合 http://localhost:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=1&replicationFactor=4 ...