设为首页 收藏本站
查看: 2526|回复: 0

[经验分享] solr cloud 之添加,删除,更新Document

[复制链接]

尚未签到

发表于 2016-12-16 08:23:16 | 显示全部楼层 |阅读模式
 
    搭建完成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.xml
   terminator.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..
  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>
  大家会发现在输出的结果集上有一个[size=1em][shard]字段,标识该条记录存储在集群中的哪个share分区中。要在结果集中shard字段可以通过设置 fl=*,[shard]做到。从[size=1em][shard]属性的值[size=1em]来看四条记录被均匀的分布到了两个share中。

[size=1em]更新数据

[size=1em]删除数据
  java -Ddata=args  -jar post.jar '<delete><id>[size=1em]9999996</id></delete>'
  或者
  java -Ddata=args  -jar post.jar '<delete><query>id:9999996</query></delete>'
  [size=1em]经过测试,以上两条命令都可以成功删除id为[size=1em]9999996的那条记录。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-314899-1-1.html 上篇帖子: Solr中DIH模式的使用 下篇帖子: solr in action翻译-第三章Solr的关键概念 3.1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表