什么是Solr

1、直接使用sql搜索存在的问题

大多数搜索引擎应用都必须具有某种搜索功能
搜索功能往往是巨大的资源消耗
它们由于沉重的数据库加载而拖垮你的应用的性能
所有我们一般在做搜索的时候 会把它单独转移到一个外部的搜索服务器当中进行
Apache Solr是一个流行的开源搜索服务器

2、Apache Solr

Solr是一个开源搜索平台,用于构建搜索应用程序。
是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口
它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。
用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

3、为什么选择Solr ?

第一点原因:来自SQL数据库在性能上缺乏亮点。基本上,你需要在你的查询中使用JOIN操作。
第二点原因是文档的天然数据特性松散的文本文件,这种查询都是需要使用LIKE。然而joins和likes都是性能杀手,在目前的数据库引擎中是不方便的。
solr底层采用的是倒排索引。这种数据结构类似与美化过的词典

4、Solr 关键特性

1.基于标准的开放接口:Solr搜索服务器支持通过XML、JSON和HTTP查询和获取结果。
2.易管理:Solr可以通过HTML页面管理,Solr配置通过XML完成。
3.可伸缩性:能够有效地复制到另外一个Solr搜索服务器。
4.灵活的插件体系:新功能能够以插件的形式方便的添加到Solr服务器上。
5.强大的数据导入功能:数据库和其他结构化数据源现在都可以导入、映射和转化。

Solr安装

 上传安装包
[{"src":"xap:resources/cd60d0bfb611c878b3a92f8a1c1801c2644c6a6168690d565e565fe886b4d324.png","width":552,"height":36,"type":"image"}]
对以上内容进行解压
解压tomcat
tar -zxvf apache-tomcat-8.5.32.tar.gz
mv apache-tomcat-8.5.32 tomcat
解压solr
tar -zxvf solr-4.10.3.tar
解压IK
unzip IKAnalyzer.zip
复制solr.war到tomcat/webapp下
cd /usr/local/solr/solr-4.10.3/example/webapps/
cp solr.war /usr/local/solr/tomcat/webapps/
启动tomcat让solr.war自动解压
/usr/local/solr/tomcat/bin/startup.sh
关闭tomcat
/usr/local/solr/tomcat/bin/shutdown.sh
进入到webapps删除solr.war包
cd /usr/local/solr/tomcat/webapps/
rm -rf solr.war
将solr-4.10.3/example/lib/ext/目录下的所有jar包拷贝到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib目录中
cd /usr/local/solr/solr-4.10.3/example/lib/ext
cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
将solr-4.10.3/example/目录下的solr文件夹复制到/usr/local/solr/目录下并且重命名为solrhome
cd /usr/local/solr/solr-4.10.3/example/
cp -r solr /usr/local/solr/
mv solr solrhome
配置tomcat/webapps/solr/WEB-INF/web.xml家的位置
cd /usr/local/solr/tomcat/webapps/solr/WEB-INF/
vim web.xml
添加solrhome
[{"src":"xap:resources/6ca731cd4e60073f5b559331fb0d5d3a9f4b3d891a262784823172c4c1d34b05.png","width":451,"height":90,"type":"image"}] /usr/local/solr/solrhome
启动tomcat
/usr/local/solr/tomcat/bin/startup.sh

[笔记01]---solr的更多相关文章

  1. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  2. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  5. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  6. JS自学笔记01

    JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...

  7. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】

    转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...

  8. ASP.NET Identity 2集成到MVC5项目--笔记01

    Identiry2是微软推出的Identity的升级版本,较之上一个版本更加易于扩展,总之更好用.如果需要具体细节.网上具体参考Identity2源代码下载 参考文章 在项目中,是不太想直接把这一堆堆 ...

  9. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  10. SaToken学习笔记-01

    SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...

随机推荐

  1. Mac上使用Royal TSX快速连接到OCI主机

    问题: 每次使用Royal TSX连接到OCI主机都要交互式输入opc这个用户名,次数多了也蛮烦. 那如何既指定用户名,又想要通过ssh私钥登陆机器呢? 这个需求确实很初级,但也着实困扰过我,因为开始 ...

  2. redis基本数据类型 Hash

    Hash 类型 Hash类型的常见命令 HSET key field value: 添加或者修改hash类型key的field的值HGET key field: 获取一个hash类型key的field ...

  3. Python爬虫-IP隐藏技术与代理爬取

    在进行爬虫程序开发和运行时,常常会遇到目标网站的反爬虫机制,最常见的就是IP封禁,这时需要使用IP隐藏技术和代理爬取. 一.IP隐藏技术 IP隐藏技术,即伪装IP地址,使得爬虫请求的IP地址不被目标网 ...

  4. Linux下jdk配置

    1.首先执行以下命令查看可安装的jdk版本: yum -y list java* ​ 执行成功后可看到如下界面: 2.选择自己需要的jdk版本进行安装,比如这里安装1.8,执行以下命令: yum in ...

  5. JUC并发编程(2)—synchronized锁原理

    目录 乐观锁和悲观锁介绍 synchronized用法介绍 synchronized和ReentrantLock的区别 经典8锁问题案例 从字节码角度分析synchronized实现 synchron ...

  6. Java虚拟机(JVM):第一幕:起源,不一定全,但是一定靠谱

    在学习JVM之前,先分享一则信息:2009 年4月20日,Orace 宣布正式以74 亿美元的价格收购市值曾超过2000 亿美元的Sun公司,传奇的Sun Microsystems 从此落幕成为历史. ...

  7. go使用snmp库查询mib数据

    转载请注明出处: OID(Object Identifier)是一种用于标识和唯一命名管理信息库中的对象的标准方式.给定一个OID,可以确定特定的管理信息库对象,并对其进行操作. go语言使用snmp ...

  8. 使用aop(肉夹馍)为BlazorServer实现统一异常处理

    背景 用户做一个操作往往对应一个方法的执行,而方法内部会调用别的方法,内部可能又会调用别的方法,从而形成一个调用链.我们一般是在最顶层的方法去加try,而不是调用链的每一层都去加try. 在web开发 ...

  9. MySQL索引、事务与存储引擎

    MySQL索引.事务与存储引擎 索引介绍 1.索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址). 使用 ...

  10. Molecule 在构建工具中的选择

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:修能 朝闻道,夕死可矣 何为 Molecule? 轻量级的 ...