Solr

简介: Solr是一个全文检索服务器

Solr

一、是什么?

Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

二、可以做什么?

Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。Solr可以独立运行。

三、怎么做?

1、安装

1.1 安装jdk

要求jdk8以上

1.2 安装tomcat

solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动

1.3 下载及解压solr安装包

从Solr官方网站(http://lucene.apache.org/solr/ )下载对应版本的solr,Linux下载tar,windows下载zip。

将zip解压,得到以下的文件夹;

bin:solr的运行脚本

contrib:solr的一些贡献软件/插件,用于增强solr的功能。

dist:包含build过程中产生的war和jar文件,以及相关的依赖文件。

docs:solr的API文档

example:solr工程的例子目录:

licenses:solr相关的一些许可信息

1.4 启动solr

cmd进入bin目录执行 solr start命令,默认端口8983

1.5 使用solr管理界面

通过访问http://localhost:8983/solr进入solr管理界面。

1.5.1 创建solr core

Core代表一个索引库、里面包含索引数据及其配置信息,比如mysql可以新建多个数据库,solr可以新建多个core

通过管理界面新建core

界面上新建会提示如下错误

解决方案:将\solr-8.9.0\server\solr\configsets\_default中的conf复制到新的core文件夹中

通过界面新建core成功

通过命令行新建core

通过命令行新建不会报错,无需复制默认的配置文件到新的core文件夹下

1.5.2 导入数据

新建一个数据库表

在表中插入数据

1.5.3 配置数据源

在/solr-8.9.0/server/solr/test5/conf新建数据源配置文件,其中test5为新建的core名称

1.5.4 配置schema

修改/solr-8.9.0/server/solr/test5/conf/managed-schema.xml文件

schema决定solr如何建立索引,每个字段的数据类型,分词方式。

fieldType:为field定义类型,最主要作用是定义分词器,分词器决定如何从文档中检索关键字。

analyzer:fieldType下的子元素,分词器。

filed:创建索引用的字段,如果想要这个字段生成索引需要配置他的indexed属性为true,stored属性为true表示存储该索引。

1.5.5 配置数据导入处理器

修改/solr-8.9.0/server/solr/test5/conf/solrconfig.xml文件

1.5.6 导入jar包

下载jar文件放入solr-8.9.0/server/solr-webapp/webapp/WEB-INF/lib

重启solr

./solr restart -p 8333

1.5.7 solr管理界面配置dataimport

点击执行可以查询配置结果

1.5.8 通过solr查询数据

可以查询出数据库中的数据,表示配置成功

1.5.9 配置分词器

未配置分词器之前的效果

下载ik分词器jar,地址https://github.com/magese/ik-analyzer-solr

将jar包放入/solr-8.9.0/server/solr-webapp/webapp/WEB-INF/lib

解压jar,获取jar中的配置文件放入/solr-8.9.0/server/solr-webapp/webapp/WEB-INF/classes,没有文件夹就新建

配置managed-schema.xml,加入分词器配置,并修改搜索字段类型为ik_word

配置完分词器的效果

查询效果







相关文章
|
XML 数据格式 索引
Solr
引用:http://baike.baidu.com/view/943234.htm Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http G   Solr et操作提出查找请求,并得到XML格式的返回结果;   编辑本段特点   Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。
849 0
|
自然语言处理 Java Apache
|
存储 自然语言处理 索引
|
Java Perl 自然语言处理
|
Web App开发 Java 程序员
solr
摘要:分享牛原创,分享牛。slor lucene学习,slor 安装, solr介绍 1、 solr介绍 2、 solr安装配置(重点) 3、 solr的基本使用(重点) 4、 solrj的使用(重点)   1 Solr介绍 1.1 什么是solr Solr也是Apache下一个项目,它是使用java开发的,它是基于Lucene的全文搜索服务器。
1177 0
|
API 索引
solr:关于dismax的使用情况(转:https://my.oschina.net/momohuang/blog/145379)
首先说说 dismax这个功能,它是基于lucene的DisjunctionMaxQuery去 扩展的,就是说,实际上用到的就是DisjunctionMaxQuery的这个查询类。查询api,可以知道是 对查询的几个域中,取最大的打分,而不是想boolean查询那样,要几个域的查询的分数叠加。 1、q.alt, 没有看明白 2、qf对默认查询增加权重比值,比如:fieldOne^1.9 f
2001 0
|
搜索推荐 Java Apache
Solr简单介绍
简介   Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
1891 0
|
搜索推荐 Java UED
|
Oracle 关系型数据库 MySQL
25对Solr的思考
25对Solr的思考
52 0

热门文章

最新文章