博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Solr
阅读量:4486 次
发布时间:2019-06-08

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

2017年2月12日, 星期日


1.solr是什么

 

Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括:

· 高级的全文搜索功能

· 专为高通量的网络流量进行的优化

· 基于开放接口(XMLHTTP)的标准

· 综合的HTML管理界面

· 可伸缩性-能够有效地复制到另外一个Solr搜索服务器

· 使用XML配置达到灵活性和适配性

· 可扩展的插件体系

2. Lucene 是什么?

Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

3. Solr vs Lucene

SolrLucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,SolrLucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: SolrLucene面向企业搜索应用的扩展。

SolrLucene架构图:

 

Solr使用Lucene并且扩展了它!

· 一个真正的拥有动态字段(Dynamic Field)唯一键(Unique Key)的数据模式(Data Schema)

· Lucene查询语言的强大扩展

· 支持对结果进行动态的分组和过滤

· 高级的,可配置的文本分析

· 高度可配置和可扩展的缓存机制

· 性能优化

· 支持通过XML进行外部配置

· 拥有一个管理界面

· 可监控的日志

· 支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution)

4.搭建安装solr

1、准备jdk7tomcat7

2、拷贝solr目录下example/webapps/solr.war,到tomcat下的webapps目录中。

3、启动tomcat7

4、编辑tomcat7中的webapps/solr目录中WEB-INF/web.xml

<env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>/root/solr_home</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

    </env-entry>

5、拷贝solr目录下的example/lib/ext目录的所有jartomcat7solrlib

6、拷贝solr目录下的example/solr/* 所有文件到 /root/solr_home

7、重新启动tomcat

8、访问http://localhost:8080/solr

转载于:https://www.cnblogs.com/jxhd1/p/9586057.html

你可能感兴趣的文章
Flex4 饼图样式(颜色渐变,点击分离,环形)
查看>>
28个Unix/Linux的命令行神器
查看>>
pb11.5破解补丁
查看>>
struts2下 数据转换器
查看>>
比特信 介绍
查看>>
ubuntu 16.04 Samba 匿名配置
查看>>
document handling
查看>>
Spring的核心容器
查看>>
Spoken English Practice(If you fail to do as I say, I will take you suffer.)
查看>>
日志分析方法
查看>>
Angular
查看>>
如何使用maven 打包源代码呢?
查看>>
python使用mysql数据库
查看>>
Linux下切换python版本
查看>>
snmptrap、snmpinform和snmptrapd的详细介绍及其用法
查看>>
JavaScript初阶(三)--------函数、闭包、立即执行函数
查看>>
linux的系统调优
查看>>
mysql之pymsql的使用
查看>>
博客园小技巧
查看>>
Java基础07 包
查看>>