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全文检索的更多相关文章

  1. SOLR (全文检索)

    SOLR (全文检索) http://sinykk.iteye.com/ 1.   什么是SOLR 官方网站 http://wiki.apache.org/solr http://wiki.apach ...

  2. solr全文检索原理及solr5.5.0 Windows部署

    文章原理链接:http://blog.csdn.net/xiaoyu411502/article/details/44803859 自己稍微总结:全文检索主要有两个过程:创建索引,搜索索引 创建索引: ...

  3. solr全文检索基本原理

    场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索方法叫做顺 ...

  4. solr全文检索实现原理

    本文转自:https://blog.csdn.net/u014209975/article/details/53263642    https://blog.csdn.net/lihang_1994/ ...

  5. Solr全文检索框架

    概述: 什么是Solr? Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.tomcat.webLogic.webSh ...

  6. Solr全文检索引擎配置及使用方法

    介绍 Solr是一款开源的全文检索引擎,基于lucene.拥有完善的可配置功能界面.具有丰富的查询语言,可扩展,可优化. 下载安装 进入solr官网下载包(这里我使用的版本是8.0) http://w ...

  7. solr全文检索学习

    序言: 前面我们说了全局检索Lucene,但是我们发现Lucene在使用上还是有些不方便的,例如想要看索引的内容时,就必须自己调api去查,再例如一些添加文档,需要写的代码还是比较多的 另外我们之前说 ...

  8. 【搜索引擎】Solr全文检索近实时查询优化

    设置多个搜索建议查找算法 <searchComponent name="suggest" class="solr.SuggestComponent"> ...

  9. solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件

    昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...

随机推荐

  1. canvas图片上传相关学习

    今天主要是研究了canvas的关于图片上传的相关知识, context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);  

  2. Java读取Properties的几种方法

    本文转载自:http://blog.csdn.net/chjttony/article/details/5927613 每次用完每次忘相对与绝对...

  3. RocketMQ 集群监控以及Hello World

    RocketMQ 目前有两个版本  alibaba版本和apache版本 一.alibaba版本 tomcat部署: apache-tomcat-7.0.90.tar.gz jdk7 虚拟机redha ...

  4. C51 玄学问题,magic

    0x00 问题代码 void int0_isr(void) interrupt 0 { num++; if (num%2 == 1) { uint k; for(k=0;k<3;k++) { P ...

  5. Python 虚拟环境 | Mac/Linux下如何避坑安装配置Virtualenv

    1.为什么要使用虚拟环境 在Python中,不同的应用可能需要用到不同版本的第三方包,而这些第三方包被统一存放到目录site-packages中,不同版本的包容易相互覆盖,如安装Django 2.1时 ...

  6. mybatis教程5(延迟加载和缓存)

    关联关系 在关系型数据库中,表与表之间很少是独立与其他表没关系的.所以在实际开发过程中我们会碰到很多复杂的关联关系.在此我们来分析下载mybatis中怎么处理这些关系 1对1关系 我们有一张员工表(T ...

  7. [转]git操作指南

    [GIT上手篇]-1-基本操作(初始化仓库,添加.提交文件) 创建(初始化)一个GIT库 init 命令 说明:用于仓库的初始化 参数:--bare 创建一个纯仓库(不含缓存区和工作目录,服务器一般采 ...

  8. [转]bootstrapValidator.js 做表单验证

    本文转自:https://www.cnblogs.com/nele/p/5493414.html 作者:@nele本文为作者原创,转载请注明出处:https://www.cnblogs.com/nel ...

  9. 延迟初始化Lazy

    延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求.也可以称为,按需加载. 基本语法: Lazy<T> xx = new Lazy<T>(); ...

  10. 【读书笔记】iOS-Apple的移动设备硬件

    本书中有一个关键观点是:“硬件并不是特别重要,用户体验才是真正的杀手级应用.“尽管如此,多了解一些你使用的硬件的相关知识,对于整个项目来说是必备的,而对于设计和开发高质量的作品来说敢是不可或缺的. 人 ...