博客
关于我
solr--windows环境下安装与配置
阅读量:128 次
发布时间:2019-02-26

本文共 1810 字,大约阅读时间需要 6 分钟。

 

目录


概述:

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。本身也是一个数据库;

文档通过Http利用XML加到一个搜索集合中。

查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

优点:

  1. Solr有一个更大、更成熟的用户、开发和贡献者社区。
  2. 支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
  3. Solr比较成熟、稳定。
  4. 不考虑建索引的同时进行搜索,速度更快。
  5. 跨平台跨语言,可以通过REST 的 HTTP API确保任何编程语言可以使用

缺点:

  1. 建立索引时,搜索效率下降,实时索引搜索效率不高。

扩展:

Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构,另外它不支持实时搜索。但是solr和elasticsearch都是基于Lucene封装。

安装配置

下载地址

网盘资料下载

链接:https://pan.baidu.com/s/1Gk3itgTIz_ExhcKDlPLbRw 

提取码:rz00 

下载.zip解压后找到dist下的war包放在tomcat下的webapp目录下,更改.war名称方便访问

启动tomcat

添加扩展包 将ext文件夹下的jar包放到WEB-INF下的lib文件夹下

配置solr的数据存放位置

将example目录下的solr目录拷贝到一个靠近根目录下并且更改目录名solrhome

 配置solrhome位置 

打开WEB-INF 下web.xml

 

打开<env-entry> 注释改为刚刚复制后的地址

保存之后启动tomcat访问

选择数据库

查询界面

查询表达式  *:* 查询全部   第一个* 代表字段名称 第二个*代表要查询的条件值

   

 

IK Analyzer配置

solr中默认的配置不会对中文进行分词

默认配置每一个字一个分词

导入jar包复制拷贝

扩展词典拷贝文件如果没有,mydict.dic手动创建一个

新建一个classes目录粘贴进去

配置词典打开.xm配置文件打开注释将扩展的词典放进去

修改solrhome的schema.xml (这个文件很重要)

将这一段配置加进去

 

 
     
 

扩展分词mydict.dic自定义内容

重新启动

查看效果选择自定义的type类型,现在他走的就是自定义的词典

配置域:

域相当于数据库的表字段,用户存放数据,因此需要根据业务需要去定义相关的Field(域)

solrhome的schema.xml 文件

name:指定域的名称 type:指定域的类型 indexed: 是否索引  stored: 是否存储 required: 是否必须 multiValied: 是否多值

 

复制域

将某一个Filed中的数据复制到另一个域中

  <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true" /> 

        <copyField source="item_category" dest="item_keywords"/>
        <copyField source="item_title" dest="item_keywords"/>
        <copyField source="item_seller" dest="item_keywords"/>
        <copyField source="item_brand" dest="item_keywords"/>

 

动态域

当需要动态扩充字段时,需要使用动态域

 <dynamicField name="item_spec_*" type="string" indexed="true" stored="true"/>

 

注意type属性类型首字母一般小写

转载地址:http://rraz.baihongyu.com/

你可能感兴趣的文章
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>