solr使用curl导入json数据以及admin页面删除索引数据

通过dos执行curl导入json数据
1.下载解压好curl工具,可以将其加入到系统变量中;
2.在doc命令下进入curl的安装目录下的src中能看到curl.exe命令
3.在此目录下执行:
curl "http://192.168.10.165:8081/solr/json/update?commit=true" --data-binary @json文件地址 -H "Content-type:application/json",执行成功后如下图:

如果执行失败会有错误提示:

json的大致文件内容结构:
{
“add”:{
"doc":{
"id":"001",
"name":"张三",
"hobby":["吃","喝","玩"]
}
"doc":{
"id":"002",
"name":"李四",
"hobby":["吃","喝","玩"]
}
"doc":{
"id":"003",
"name":"王五",
"hobby":["吃","喝","玩"]
}
}
}
对于单值字段与多值字段可以很好的支持,对于类似下面这种属性组:
"comments": [
{ 
"text": "我是谁",
}, 
{ 
"text": "我在哪",
} 
] 
在json文件中不能直接这么写,solr识别不了,需要改为如下形式:
“comments.0.text”:"我是谁",
“comments.0.text”:"物我在哪"

通过java程序调用curl命令导入json文件到solr索引库:
public static boolean impData(String path){
String url = "\"http://192.168.10.165:8081/solr/json/update?commit=true\" --data-binary @"+path+" -H \"Content-type:application/json;charset=UTF-8\"";
String[] cmds = {"curl",url};
ProcessBuilder pb = new ProcessBuilder(cmds);
pb.redirectErrorStream(true);
Process p; 
try { 
p = pb.start();
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
br.close();
} catch (IOException e) {
e.printStackTrace();
} 
return true;
}
其中path为json文件的绝对地址,json文件的格式与上面的一致,自己可以加一些输出语句判断导入数据的条数、所消耗时间等信息。
solr admin 删除索引示例:


根据id删除索引:
<delete><query>id:1</query></delete>
<commit/>
删除所有索引:
<delete><query>*:*</query></delete>
<commit/>
删除成功状态:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值