一、Solr 是什么
Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。 Apache Lucene 是一个高效的、基于 Java 的全文检索库。
二、为什么要用 Solr
- 在公司后台历史订单查询的应用中,模糊查询的实现方式为 LIKE '%something%',性能很差。
- 基于关键字的日志内容需要快速检索。
- 其他数据库模糊查询的优化方案。
三、Solr 的特性
- 具备高级全文搜索的能力
- 高容量
- 基于标准的开放接口(XML、JSON、HTTP):Document 通过 HTTP 利用 XML 加到一个搜索集合中,查询该集合时也是通过 HTTP 收到一个 XML/JSON 响应来实现
- 提供功能全面的管理界面,使你能够容易地控制你的 Solr 实例
- 易监控
- 高稳定性和容错性
- 易配置,且不失灵活和适配性
- 准实时索引,确保你能够实时看到更新后的内容
- 可扩展插件架构:新功能能够以插件的形式非常方便地添加到 Solr 服务器上
四、Solr 怎样工作
4.1、Web 管理 UI
URL 为:http://139.198.13.12:7000/solr/admin.html。请注意:Solr5.5 的,一定要加 admin.html,如果不加的话,则按回车后将返回 404(表示找不到页面)。
4.2、Solr 服务端的安装与配置
4.2.1、安装 Solr 服务:安装的版本号是 5.5.4。
4.2.2、建立 Core
要使用 Solr,需要建立类似于数据库实例的 Core。每个 Core 对应一个文件夹,此文件夹建立在 Solr Home 路径下,且其名字要和 Core 的名字一致:
4.2.3、配置 Core
以 Demo 中使用于 Solr 服务器上的 PolicyCore 为例,修改以下 3 个配置文件:
solrconfig.xml、managed-schema 是从位于【{Solr Home 路径}/configsets/basic_configs/conf】路径下的同名配置文件拷贝而来,而 data-config.xml 来自:对 Solr 服务端安装文件 solr-5.5.4.tgz 解压后,得到 solr-5.5.4 的文件夹名,然后把位于【solr-5.5.4/example/example-DIH/solr/db/conf】路径下的 db-data-config.xml 文件拷贝到【{Solr Home 路径}/configsets/basic_configs/conf】路径下,并重命名为 data-config.xml。
在 solrconfig.xml 配置文件中增加如下内容:
以上内容加在【5.5.4】节点之后、【${solr.data.dir:}】节点之前。
data-config.xml
以上内容加的位置请见如下图所示:
对 managed-schema 文件进行修改:以下内容加在节点内:
注释掉以下配置:
然后在其下增加如下配置: