1:solr简介

	solr是一个开源的搜索引擎,是对lucene做了封装,对外提供类似于webservice接口,
可以使用http请求的方式对solr进行操作。 lucene、solr、elasticsearch是java领域比较常用的搜索工具。 lucene比较底层。
solr对lucene做了封装,可以简单的实现一个站内搜索功能,solr4.0之后
出现了solrcloud,也支持分布式存储和搜索。
elasticsearch对lucene做了封装,并且elasticsearch是天生支持分布式的。

2:solr的特点

	通过http协议对solr进行操作
增加了缓存功能,查询更快
提供的有web界面
支持结果分类(fact),类似于数据库中的groupby
支持分布式(solrcloud)

3:solr安装部署启动

必须先安装JDK,并设置JAVA_HOME环境变量,jdk的版本不能低于1.7
下载,解压,启动
cd /usr/local
tar -zxvf solr-4.10.4
cd solr-4.10.4/example
java -jar start.jar
solr启动之后默认监听8983端口,可以访问http://ip:8983/solr进行访问验证

4:solr的两种启动方式

	1):java -jar start.jar
默认在前台启动。
后台启动:java -jar start.jar --daemon &(这样启动之后只能kill杀进程)
后台启动:java -DSTOP.KEY=solr -DSTOP.PORT=8984 -jar start.jar --daemon &
针对这种启动方式,可以使用下面命令停止solr
java -DSTOP.KEY=solr -DSTOP.PORT=8984 -jar start.jar --stop 指定端口启动solr
java -Djetty.port=8984 -jar start.jar
2):bin/solr start
默认在后台启动,使用bin/solr start -f可以在前台启动
指定端口启动:bin/solr start -p 8984 停止solr:bin/solr stop -p 8984或者 bin/solr stop -all 查看启动的solr服务:bin/solr -i 注意:solr脚本启动底层也是调用了start.jar 3):使用tomcat启动solr
暂时不建议使用,可以参考PPT或者提供的文档<使用tomcat启动solr.txt>

5:solr-web项目位置

	默认情况下,使用java -jar start.jar启动solr的时候,会在当前目录下的webapps目录
下面找solr.war,并且还会把这个项目解压到当前目录下的solr-webapp/webapp目录下。 如果使用的是bin/solr脚本启动的话,会默认到SOLR_HOME下面找example目录(通过脚本可以发现),
会找这个目录下面的webapps/solr.war 解压到solr-webapp/webapp目录下, 如果修改了SOLR_HOME下面的example文件名(mv example crxy)
那么使用java -jar start.jar 方式启动没问题。
使用bin/solr启动则会报错。 所以需要在启动的时候指定一下修改之后的文件夹名称
bin/solr start -d crxy

6:solr中的solr.solr.home属性

	这个属性指定了solr core的根目录。
默认情况下会找exampl下的solr目录。 如果这个目录的名称被修改了之后,使用bin/solr脚本启动的时候就必须要指定了
假设把名称改为 solr2
mv expample/solr example/solr2
则执行是需要这样指定
bin/solr start -s solr2 如果使用tomcat启动的话,可以参考<使用tomcat启动solr.txt>设置这个属性。

7:solr启动总结

	使用java -jar start.jar方式启动的时候
默认会在当前目录下的webapps/下面找solr.war
会在在当前目录下的solr中找solr core的配置信息 使用bin/solr脚本启动的话
默认是在example下面找solr的web项目和sorl core的根目录。

8:solr管理界面

	如果使用的IE版本过低的话,访问会报错。
访问地址:http://ip:8983/solr

9:向solr中索引数据

	先使用sorl提供的测试数据
cd solr-4.10.4/example/exampledocs
java -jar post.jar hd.xml 这样会向solr中添加两条数据。 注意:这个索引过程会找本机的solr服务,使用http://localhost:8983/solr/update 进行访问。

10:schema.xml文件分析

	field:定义字段的一些基本属性,字段名称,字段类型,是否存储,是否建立索引。。。
dynamicField:动态字段,可以通过提前设置一些动态字段,实现后期动态增加字段。
动态字段的名称可以使用通配符,一般使用*,这个*只能在名称的前面或者后面。
不能单独使用*。
uniqueKey:设置主键字段。
copyfield:拷贝字段。可以把多个字段的内容拷贝到一个字段中,方便后期查询。
fieldtype:在field标签中,type属性的值就是在这定义的。可以设置一些字段的解析方式。

solr 安装的更多相关文章

  1. 03 Apache Solr: 安装和运行

         前面介绍了Solr在项目中的使用和构建高度可用.高度可扩展的Solr服务器的一些想法.但是光说不练假把式,现在开始,把Solr运行起来继续深入了解吧! 安装 安装JAVA Apache So ...

  2. solr安装笔记与定时器任务

    一:solr启动 目前solr最高版本为5.5.0版本,很多solr安装都是说将server文件copy到tomcat中,但是solr版本自带有jetty的启动方式 首先下载solr-5.5.0版本, ...

  3. Solr安装过程

    Solr安装过程 下载相关资料 solr 4.2.0 http://lucene.apache.org/solr/ 期间安装过 solr 4.3.0 很可惜没有配置成功 apache-tomcat-7 ...

  4. Solr安装入门、查询详解

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

  5. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  6. 【Solr初探】Solr安装,启动,查询,索引

    1. 安装&启动 官网:http://lucene.apache.org/solr/ 下载源代码,解压,进入根目录(我把solr放在/usr/local/solr下) 在/usr/local/ ...

  7. Solr安装(Tomcat)

    Solr安装(Tomcat)   安装环境 Windows 7 64bit Apache-tomcat-8.0.9-windows-x64 Solr-4.9.0 JDK 1.8.0_05 64bit ...

  8. Solr系列一:Solr(Solr介绍、Solr应用架构、Solr安装使用)

    一.前言 前面已经学习了Lucene的分词.索引详解.搜索详解的知识,已经知道开发一个搜索引擎的流程了.现在就会有这样的一个问题:如果其他的系统也需要使用开发的搜索引擎怎么办呢?这个时候就需要把开发的 ...

  9. Solr安装入门

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

随机推荐

  1. Mybatis

    Mybatis MyBatis本是apache的一个开源项目iBatis,2010年这个项目有Apache software foundation 迁移到了Google code,并改名MyBatis ...

  2. transactionManager 以及datasource type解析

    transactionManager 在 MyBatis 中有两种事务管理器类型(也就是 type=”[JDBC|MANAGED]”): JDBC – 这个配置直接简单使用了 JDBC 的提交和回滚设 ...

  3. 安全测试 - 抓包工具BurpSuite

    Brup SuiteBurpSuite是用于攻击web应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP消息,持久 ...

  4. webgl 循环传参画10个点

    function main(){ var canvas = document.getElementById("webgl"); var gl = getWebGLContext(c ...

  5. [干货]Chloe官网及基于NFine的后台源码毫无保留开放

    扯淡 经过不少日夜的赶工,Chloe 的官网于上周正式上线.上篇博客中LZ说过要将官网以及后台源码都会开放出来,为了尽快兑现我说过的话,趁周末,我稍微整理了一下项目的源码,就今儿毫无保留的开放给大家, ...

  6. 酷酷的mapv

    做城市热力图的时候无意浏览到mapv强大的功能.比如地图上路线的汇聚效果,如下 <!DOCTYPE html> <html> <head> <meta cha ...

  7. 编译自己的Ubuntu内核

    很多时候我们在使用Ubuntu的时候,想修改一下内核配置,然后编译,安装到Ubuntu中.这也是进行Ubuntu内核开发的前提. 获取当前Ubuntu对应代码 有很多方法可以获得Ubuntu内核代码, ...

  8. go channel

    channel 是go语言中不同goroutine之间通信一种方法 //定义一个channel c := make(chan bool) //向channel中写入 c <- true //读取 ...

  9. C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用

    类型 普通指针 指针数组(非指针类型) 数组指针 结构体指针 函数指针 二重指针 定义方式 int *p; int *p[5]; int (*p)[5]; int a[3][5]; struct{.. ...

  10. django 缓存、中间件、信号、CSRF 详解

    中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项 ...