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",执行成功后如下图:

如果执行失败会有错误提示:
solr使用curl导入json数据以及admin页面删除索引数据_第1张图片
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 删除索引示例:
solr使用curl导入json数据以及admin页面删除索引数据_第2张图片

根据id删除索引:
id:1
删除所有索引:
*:*
删除成功状态:
solr使用curl导入json数据以及admin页面删除索引数据_第3张图片

你可能感兴趣的:(solr)