solr update接口常用方法
2024-10-10 12:31:20
solr索引数据更新接口:http://localhost:8080/solr/update
有以下一些操作可以通过update接口完成,只能使用post的形式提交数据。
1、添加索引
确保field已全部在schemal.xml 中定义,日期格式要求的比较奇葩,但必须符合他的格式。此处adaptor,director在schemal.xml中设置了多值属性(multiValued=true)可以看出此处对应的添加xml格式。
<?xml version="1.0" encoding="utf-8"?> <add>
<doc>
<field name="clipId"></field>
<field name="clipName">谢娜和彭宇上演现场版野蛮女友</field>
<field name="eName"/>
<field name="otherName">谢娜和彭宇上演现场版野蛮女友</field>
<field name="story">谢娜和彭宇上演现场版野蛮女友。</field>
<field name="scenarist"/>
<field name="adaptor">谢娜</field>
<field name="adaptor">彭宇</field>
<field name="director">马可</field>
<field name="director">彭宇</field>
<field name="director">李好</field>
<field name="director">李响</field>
<field name="kind"/>
<field name="area"/>
<field name="clicks"></field>
<field name="releaseDate">--10T00::00Z</field>
</doc>
</add>
2、删除索引
删除单挑索引时,必须指定主键值,主键也就是你再schemal.xml中<uniqueKey>clipId</uniqueKey>节点定义的。
<?xml version="1.0" encoding="utf-8"?> <delete>
<id>unikey</id>
</delete>
当然也可以批量删除索引,只要在<query>节点中定义好查询语句,solr将删除所查询到的所有索引。提交如下数据将清空索引。
<?xml version="1.0" encoding="utf-8"?> <delete>
<query>*:*</query>
</delete>
提交如下数据,将删除所有otherName包含“谢娜”的索引
<?xml version="1.0" encoding="utf-8"?> <delete>
<query>otherName:谢娜</query>
</delete>
3、更新索引
当用户添加索引后,索引库是不会马上更新的(除非已设置自动更新),那么要让他立即生效的话,提交如下数据即可。
<commit/>
4、重建索引
当索引库经过多次删除、插入等操作时,索引库将产生很多碎片数据,重建索引将提高索引效率,提交如下数据即可。
建议在应用负荷量较小的时间段进行,如凌晨时段。
<optimize/>
最新文章
- handler发消息的形式
- apache2.4配置Django1.7运行环境
- python课程第一周重点记录
- 利用writing-mode实现元素的垂直居中
- Html 块级元素和行级元素
- Wireshark命令行工具tshark
- 编译基于ARM LINUX的驱动模块的Makefile
- 西南科技大学第十一届ACM程序设计大赛发言稿
- 静态编译Qt5.4.1和Qt WebKit
- 终于懂了:WM_PAINT 与 WM_ERASEBKGND(三种情况:用户操作,UpdateWindow,InvalidateRect产生的效果并不相同),并且用Delphi代码验证 good
- [ios2]componentsSeparatedByCharactersInSet使用方法
- C程序练习
- Cocos2dx项目在各种IDE中新建类之后的可行编译方式
- 【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输
- 自学Java第七周的总结
- Latex公式示范
- PHP字符串函数运用小案例
- 使用pt-table-checksum校验MySQL主从复制【转】
- layui的table中使用switch
- Lua面向对象 --- 继承