探索 Apache Solr (1) - Windows下搭建及入门

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面, 是一款非常优秀的全文搜索引擎。

一、下载和安装

本次搭建系统环境为Windows 10 ,Linux类似,以后有时间会加上。

  1. 下载Solr,这次使用最新的6.1.0版本地址:
    http://www.apache.org/dyn/closer.lua/lucene/solr/6.1.0

  2. 下载容器,选择比较熟悉的Tomcat,版本选择Tomcat 8.0 地址:
    http://tomcat.apache.org/download-80.cgi

  3. 都是压缩文件,如果你可以熟练的将压缩包解压到相同目录下,最后看到这俩家伙说明你离成功不远了..


    Paste_Image.png
  4. \solr-6.1.0\server\solr-webapp\webapp 文件夹 复制到\apache-tomcat-8.5.4\webapps下,并将webapp 修改为solr。

  5. 打开\apache-tomcat-8.5.4\webapps\solr\WEB-INF\web.xml,修改以下配置(可能被注释掉,先解除注释),将solr/home修改为你的。

 
       solr/home

       E:\Server\solr-6.1.0\server\solr
       java.lang.String
    

其实到这步基本上完事了,如果你需要打印日志的话,就接着配置6、7。

  1. \solr-6.1.0\server\lib\ext下的所有jar包复制到\apache-tomcat-8.5.4\webapps\solr\WEB-INF\lib下.
  2. \solr-6.1.0\server\resources\log4j.properties 复制到```\apache-tomcat-8.5.4\webapps\solr\WEB-INF\classes`` 下(如果没有classes文件夹创建之),好了现在日志也有了。

OK,现在运行\apache-tomcat-8.5.4\bin\startup.bat启动小猫咪, 访问http://127.0.0.1:8080/solr/index.html/

探索 Apache Solr (1) - Windows下搭建及入门_第1张图片
Paste_Image.png

如果可以成功打开的话,恭喜你Solr 搭建成功了,是不是很简单...
不过这些都是小学生入门级别的配置...,更专业、详细的配置见 Solr 官方文档及 Tomcat 官方文档


二、基本操作

有童鞋会说了,搭建好了然后怎么提供搜索服务呢?别急,现在的Solr就相当于一个空的数据库,什么还没有,首先我们要搞一点数据来,那么我们要先创建一个Core(相当于创建数据表)这个Core我们叫user_core吧。

  1. 进入 core home 目录,我们现在配的是\solr-6.1.0\server\solr,在该目录下创建user_core文件夹
  2. \solr-6.1.0\server\solr\configsets\basic_configs\conf文件夹复制到user_core文件夹下
  3. 进入管理页面,填写表单,点击Add Core。


    探索 Apache Solr (1) - Windows下搭建及入门_第2张图片
    Paste_Image.png

添加成功后选择我们的core,执行一下查询,我们可以看到毛豆没查出来,因为现在core里空空如也~
q 就是查询参数 *:*相当于查询所有,至于 name:李* 就是查询所有name以李开头的行

探索 Apache Solr (1) - Windows下搭建及入门_第3张图片
Paste_Image.png

好了,我们按照下面步骤插入点数据吧

  1. 配置Schema,增加字段(刚才只是相当于创建了数据表,并没有添加字段)

探索 Apache Solr (1) - Windows下搭建及入门_第4张图片
Paste_Image.png

2.点击 Add Field,增加name(string)、age(int) 两个字段,现在我们的user_core,有三个字段id、name、age
3.点击左侧是Documents插入数据,这里选择以json的方式,我们插入这条 {'id':1,'name':'土豆','age':20}试试(这里的update在 id相同时执行更新操作,不同则执行新增操作)。

探索 Apache Solr (1) - Windows下搭建及入门_第5张图片
Paste_Image.png

4.插入成功后再执行下Query 看看是不是已经可以查出来啦。

探索 Apache Solr (1) - Windows下搭建及入门_第6张图片
Paste_Image.png

三、总结

我们可以这样理解,Solr相当于数据库,Core相当于表,Documents内的Field相当于表中的字段。至于操作,很简单吧,也就是些CRUD操作,比操作数据库还简单点,但是比数据库快多了。

Solr 提供以HTTP 请求的形式的API,任何语言都可以与之交互,下篇文章将介绍如果使用SolrJ 以Java 编程方式操作Solr,这也是使用Solr最普遍的形式。

本文是笔者刚接触Solr时写下的,如果你想更多的了解 Solr 及 Solr Cloud请阅读我的文集,那里更加完善 ->Solr&Solr Cloud

你可能感兴趣的:(探索 Apache Solr (1) - Windows下搭建及入门)