Solr全文检索
1.Solr的安装
.环境要求
jdk1.+tomcat8+solr5.5.0
.将以上的软件包上传到服务器
.
安装tomcat8(解压文件)
tar -zxvf apache-tomcat-8.5..tar.gz
.
解压solr
tar -zxvf solr-5.5..tgz .将solr的服务拷贝到tomcat的webapps下
cp -r solr-5.5./server/solr-webapp/webapp/* tomcat8/webapps/solr
.需要将solr需要日志的jar拷贝到tomcat8/webapp/solr/WEB-INF/lib
cp -r solr-5.5./server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib
.需要将日志的log4j配置文件拷贝到项目中
mkdir -p tomcat8/webapps/solr/WEB-INF/classes
cp -r solr-5.5./server/resource/log4j.properties tomcat8/webapps/WEB-INF/classes
.配置solrHome(存放索引)
mkdir solr-home
vi tomcat8/webapps/solr/WEB-INF/web.xml
打开如下配置
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/solr-home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
拷贝solr的配置文件到solr-home
cp -r solr-5.5./server/solr/* /root/solr/solr-home .启动tomcat
tomcat8/bin/startup.sh .http://192.168.137.129:/solr/admin.html
2.核心概念
1.Solr服务器---->理解为数据库
2.核---->表
3.field---->表中字段
3.创建核
1.在solr-home下创建一个目录(目录名随意,例如t_item)
2.拷贝核中所需要的配置文件(solr-home下configsets里面) : cp -r configsets/sample-techproducts-configs/* t_item
4.系统界面操作
1.新增和修改(id在索引库中存在就是修改,不存在就是新增): {"id":"change.me","title":"change.me"}
id必须存在,可以理解为主键,key必须先配置(managed-schema)再使用
2.删除使用xml
<delete>
<id>change.me</id>
</delete>
<commit/>
5.Java中操作Solr
1.添加依赖
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.5.0</version>
</dependency>
2.使用API
1.获取和服务器连接
String baseURL = "http://192.168.137.129:8080/solr/t_item"; //服务器地址,最后一个表示核
SolrClient solrClient = new HttpSolrClient(baseURL);
2.调用
solrClient中的增删改查操作
6.Solr添加域
1.需要在solr-home,找到对应的核的目录,conf/managed-schema
vi conf/managed-schema
<!--配置自定义的域-->
<field name="content_ik" type="text_ik" indexed="true" stored="true"/>
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
</fieldType> 2.将IK分词器拷贝到tomcat8/webapps/solr/WEB-INF/lib
cp ik-analyzer-5.3.0.jar tomcat8/webapps/solr/WEB-INF/lib 3.重启服务器 IK分词器需要添加扩展词典
将配置文件IKAnalyzer.cfg.xml和词典上到 tomcat8/webapps/solr/WEB-INF/classes
Solr全文检索的更多相关文章
- SOLR (全文检索)
SOLR (全文检索) http://sinykk.iteye.com/ 1. 什么是SOLR 官方网站 http://wiki.apache.org/solr http://wiki.apach ...
- solr全文检索原理及solr5.5.0 Windows部署
文章原理链接:http://blog.csdn.net/xiaoyu411502/article/details/44803859 自己稍微总结:全文检索主要有两个过程:创建索引,搜索索引 创建索引: ...
- solr全文检索基本原理
场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索方法叫做顺 ...
- solr全文检索实现原理
本文转自:https://blog.csdn.net/u014209975/article/details/53263642 https://blog.csdn.net/lihang_1994/ ...
- Solr全文检索框架
概述: 什么是Solr? Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.tomcat.webLogic.webSh ...
- Solr全文检索引擎配置及使用方法
介绍 Solr是一款开源的全文检索引擎,基于lucene.拥有完善的可配置功能界面.具有丰富的查询语言,可扩展,可优化. 下载安装 进入solr官网下载包(这里我使用的版本是8.0) http://w ...
- solr全文检索学习
序言: 前面我们说了全局检索Lucene,但是我们发现Lucene在使用上还是有些不方便的,例如想要看索引的内容时,就必须自己调api去查,再例如一些添加文档,需要写的代码还是比较多的 另外我们之前说 ...
- 【搜索引擎】Solr全文检索近实时查询优化
设置多个搜索建议查找算法 <searchComponent name="suggest" class="solr.SuggestComponent"> ...
- solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...
随机推荐
- 使用 Notification API 开启浏览器桌面提醒
Notifications API 允许网页控制向最终用户显示系统通知 —这些都在顶级浏览上下文视口之外,因此即使用户已经切换标签页或移动到不同的应用程序,也可以显示.该API被设计成与不同平台上的现 ...
- redis linux(centos) 安装
前言 redis 大家都使用过, 可以安装在windows下, 也可以安装在linux下, 一般还是linux下安装比较多. 这里来介绍一下redis在linux下的安装 一. 下载 https:// ...
- postman传递对象到spring controller的方式
1.spring Controller @RestController @RequestMapping(value = "/basic/task") public class Ta ...
- .7-浅析webpack源码之WebpackOptionsDefaulter模块
WebpackOptionsDefaulter模块 通过参数检测后,会根据单/多配置进行处理,本文基于单配置,所以会进行到如下代码: if (Array.isArray(options)) { com ...
- T-SQL:函数大全(九)
1.CONCAT函数 SELECT custid, country, region, city, country + N',' + region + N',' + city AS location F ...
- 现如今的CDN网站加速技术,细说CDN
CDN技术应用越来越广泛的被各大互联网公司所应用.已经成为了互联网企业离不开的一种网络运维方式.什么是CDN? CDN 利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒 ...
- Java中变量之局部变量、本类成员变量、父类成员变量的访问方法
变量:局部变量.本类成员变量.父类成员变量 如何访问:如果变量名相同,则采用就近原则,哪个变量离所要调用的访问最近,那就么就输出,优先顺序为:局部变量 > 本类成员变量 > 父类成员变量 ...
- Mybatis逆向工程生成po、mapper接口、mapper.xml
Mybatis逆向工程生成po.mapper接口.mapper.xml 一.新建一个maven工程 请查看我的另一篇博客:<使用idea创建一个maven工程> 二.引入所需依赖 需要my ...
- Python全栈学习_day002知识点
今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...
- Python shelve
shelve模块只有一个open函数,返回类似字典的对象,可读可写; key必须为字符串,而值可以是python所支持的数据类型. import shelve f = shelve.open('SHE ...