一、开篇语
其实Solr就是一个你可以通过他来查询文档的东西,他整个都是基于Document的,那么这些Document从何而来列? 当然是我们给他,而这些来源就包括了:数据库文件,XML,Json,CSV等。。。 然后solr给你转为他自己的格式统一存储, 当你通过他来search的,他就去自己的存储文件里面,将结果集找出来返回给你。虽然以上说法可能不太严谨,但是大致上就是这么一回事。
所以,你必须先给solr数据,然后他才能为你服务,正如guide上所说:Solr needs input before it can do anything。本节,我们就一起来看看,如果给solr添加数据。
solr提供了2种方式来上传数据:
- 命令行方式
- 控制台界面
二、命令行方式上传数据
在solr目录下: solr-4.5.0\example\exampledocs下有一个post.jar,那么这个jar怎么用列,我们在命令行看一下help。
不光用法列出来了,还有例子。 我们那们就照葫芦画瓢,加一些Document吧。首先启动Tomcat,然后命令行
可以看到,14 files indexed. 那如何验证我们是否真的已经上传成功了列?
左侧中部的下拉框,选择collection1,发现多了很多菜单,如下图
- 点击Query菜单--->Execute Query。可以看到右侧出现了很多Json数据。 再去对照刚才我们上传的xml文档吧,发现是不是都在了列。
界面操作增加Document
1.上传我们使用Query 进行了查询,那肯定也有新增的菜单, 没错,就是Docuemnts. 我们就用Json格式增加数据,然后将commit within设置为1,然后Commit。
2.去query验证数据,查找刚才新增的数据,发现没有。 这是怎么回事列?仔细查看查询的参数,发现solr也支持分页的,因此我们将分页参数改大一些。
将10改为100,再执行查询。 然后用ctrl+F 在页面上搜索我们刚才新增的数据,发现。找到了。
O啦,2种方式Add Document。我们都已经成功了。
其实验证是否有某个数据,有个更简便的方法:http://localhost:8080/solr/select?q=你要查询的value