solr安装及配置集群说明

Apache Solr 介绍

Solr 是什么?

Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的Java 来实现。服务器通信使用标准的HTTP 和XML,所以如果使用Solr 了解Java 技术会有用却不是必须的要求。
Solr 主要特性有:强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和电子文档(Word ,PDF 等)的处理。而且Solr 具有高度的可扩展,支持分布搜索和索引的复制。

Lucene 是什么?

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

 

 

安装Apache Solr

下载最新的Solr

官网地址:http://lucene.apache.org/solr/
点击右上角Download会自动跳转到下载页面。
当前版本为6.4.1

解压目录

如:D:\solr-6.4.1
打开cmd命令行窗口,进入解压目录

执行命令:

solr start

182456_qHKR_3506033.png

用浏览器访问

http://127.0.0.1:8983/solr/

182504_UuDF_3506033.png

启动成功!

 

 

自定义索引目录

Solr的默认数据路径在D:\solr-6.4.1\server\目录下
在启动参数中加入-s 目录路径可以指定索引存放目录

新建目录D:\solr-example

复制D:\solr-6.4.1\server\solr\solr.xmlD:\solr-example

执行命令启动solr

solr start –s “D:\solr-example”

执行命令创建核心:

solr create –c test

 

182515_VYnq_3506033.png

 

索引配置

Solr的索引有3种配置类型

Field

同等于数据库的字段
182804_djsW_3506033.png

- name 就是字段名称 
- type 数据类型 
- indexed 是否对该字段建立索引 
- stored 是否保存,设置为true则会在搜索结果里显示该字段的内容,否则不显示
- multiValued 属性设置为true,它作用就是可以在同一个字段上添加多条内容

 

 

Dynamic fields

这种类型的字段并没有把字段名称写死,而是通过前缀或者后缀通配符来匹配字段名称,只要是符合这个通配符的字段名称都适用于它所定义的属性。
它的属性设置和第一第二两种类型的配置方式一样,你同样可以设置它为第二种类型,即multiValued=”true”。

182900_yxN5_3506033.png

适用它有三个好处: 
■ Modeling documents with many fields 
■ Supporting documents from diverse sources 
■ Adding new document sources

也就是说不再局限于写死的fields了,这里可以灵活在提交的文档里添加新的字段

 

 

Copy fields

首先在fields里定义一个字段,它可以把多个字段合并到这个字段,它必须设置multiValued=”true”。 
然后设置它的拷贝关系,它的位置和fields>是平级的,是兄弟关系。

182920_yFOE_3506033.png

 

 

 

查询测试

在Core Selector选择test->Query
 

183005_Xw31_3506033.png

 

常用查询参数说明  

    q - 查询字符串,必须的。  

    fl - 指定返回那些字段内容,用逗号或空格分隔多个。  

    start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。  

    rows - 指定返回结果最多有多少条记录,配合start来实现分页。  

    sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。  

    wt - (writer type)指定输出格式,可以有 xml, json, php, phps。  

    fq - (filter query)过滤查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。

 

 

配置SolrCloud

准备工作

新建目录D:\solr-cloud作为存放目录

假设有3台服务器,分别新建目录

D:\solr-cloud\server1

D:\solr-cloud\server2

D:\solr-cloud\server3

183021_fQwd_3506033.png

下载zookeeper

下载地址:http://zookeeper.apache.org/releases.html

解压zookeeper到每个server目录下

配置zookeeper

在serverN目录下新建data目录和dataLog目录

在data目录下创建文件myid,内容为server目录名里的数字(server1=1,server2=2,server3=3…)

解压zookeeper到每个server目录,以下用server1为例

进入zookeeper-3.4.9\conf,复制zoo_sample.cfg另存为zoo.cfg

修改zoo.cfg

#数据目录

dataDir=D:/solr-cloud/server1/data

#存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir,事务日志的写性能直接影响zk性能。

dataLogDir=D:/solr-cloud/server1/dataLog

#事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。

clientPort=2181(server2为2182、server3中为2183)

#server.x=[hostname]:nnnnn[:nnnnn]

#这里的x是一个数字,与myid文件中的id是一致的。

#右边可以配置两个端口,第一个端口用于FL之间的数据同步和其它通信,

#第二个端口用于Leader选举过程中投票通信。  

server.1=127.0.0.1:2888:3888

server.2=127.0.0.1:2889:3889

server.3=127.0.0.1:2890:3890

启动zookeeper

进入zookeeper-3.4.9\bin,双击zkServer.cmd即可启动zookeeper

 

重复以上操作配置和启动server2和server3的zookeeper

 

启动solr

解压solr到每个server目录

执行以下命令启动solr

D:\solr-cloud\server1\solr-6.4.1\bin\solr start -s D:\solr-cloud\server1\solr-6.4.1\server\solr -p 8981 -c -z "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

D:\solr-cloud\server2\solr-6.4.1\bin\solr start -s D:\solr-cloud\server2\solr-6.4.1\server\solr -p 8982 -c -z "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

D:\solr-cloud\server3\solr-6.4.1\bin\solr start -s D:\solr-cloud\server3\solr-6.4.1\server\solr -p 8983 -c -z "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

 

 

上传solr配置

进入solr-6.4.1\server\scripts\cloud-scripts

执行以下命令

zkcli -zkhost "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183" -cmd upconfig -confdir D:\solr-cloud\server1\solr-6.4.1\server\solr\configsets\data_driven_schema_configs\conf -confname test

 

创建collection

用浏览器访问http://127.0.0.1:8983/solr还是空的,需要创建collection

进入collections页面,点击[Add Collection]按钮,

Name是collection名称

ConfigSet选择刚才上传的配置test

numShards是创建2个逻辑分片

replicationFact是每个分片下有2个备份(1主1从)

183034_pr8k_3506033.png

 

 

创建成功后就能看到如下图

 

 

转载于:https://my.oschina.net/likaixuan0/blog/916596

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值