下载solr, 我用的是5.5.0, 目前最新的到6.6了吧
启动solr
cmd 进入{solr_home}/bin目录下执行solr start
命令。此处可以看到solr运行的端口是8983
有的文章说是进入到example目录下执行java -jar start.jar
命令, 但我此处的版本, example目录下没有start.jar ,而是在server下面, 但执行java -jar start.jar
会报缺少参数错误。 至于缺少什么参数, 也没深入研究了。官方文档是说通过solr start
命令启动, 见bin/readme.txt启动solr成功后,通过访问
locahost:8983
进入到solr的主页。
索引数据
服务启动后,目前你看到的界面没有任何数据,你可以通过POSTing命令向Solr中添加(更新)文档,删除文档,在exampledocs目录包含一些示例文件,进入exampledocs目录,运行命令:
java -jar post.jar solr.xml monitor.xml
上面的命令是向solr添加了两份文档,可以打开这两个文件看看里面是什么内容。
但是很遗憾,执行上面命令会出现错误,在这版本中,先需要在solr管理界面添加一个core,
instanceDir目录 需要先创建好,solr_home需要一个solr.xml文件,可以在solr安装目录server下找到
solr_home还需要一个conf文件夹,里面有几个配置文件,可直接将conifgsets文件夹中的conf目录复制过去。
conf文件说明
solrconfig.xml配置文件是每个core必须的一个配置文件,只对当前core有效,sechma.xml配置文件是用来定义索引的每个域的,比如域的名称啊,域的类型,域是否索引,是否存储,是否分词,是否存储项向量,使用什么分词器,指定同义词字典文件在哪儿,指定停用词字典文件在哪儿等等,这些信息都是是sechma.xml中定义的,如果你有点Lucene基础,那编写schema.xml就没什么压力了,只不过以前在Lucene中是直接使用Lucene API来定义域的这些信息的,现在改用XML形式表达同样的意思。注意里面还有个protwords.txt字典文件,这在Lucene中还没接触过。protwords的作用,此处不阐述。
如果没按前面说的规范建立目录, 那么会出现下面的错误
core创建好了,那就可以在命令行下执行post.jar往solr admin中添加索引,进入到post.jar所在目录 solr-5.5.0\example\example
然后执行命令
java -Dc=collenction1 -jar post.jar manufacturers.xml
-Dc:core的名字