Linux+Solr+Zookeeper-03:以自带示例mail进行Solr Admin后台功能说明

[超级连接:Linux+Solr+Zookeeper系列-序章]


本文主要Solr包自带的mail示例,对Solr Admin后台功能进行讲解。

1.环境

  • Ubuntu 16.04 LTS
  • jdk1.8.0_161
  • solr-6.6.0

关于Solr+Zookeeper的集群配置参加上一章

2.通过zookeeper上传solr自带示例mail

Solr安装包自带的示例位于/usr/local/solr-6.6.0/example/example-DIH/solr/目录下。

mail目录拷贝至solr/server/solr/configsets/目录下。

//拷贝配置至solr1
cp -r /usr/local/solr-6.6.0/example/example-DIH/solr/mail /usr/local/solrcloud/solr1/server/solr/configsets/
//拷贝配置至solr2
cp -r /usr/local/solr-6.6.0/example/example-DIH/solr/mail /usr/local/solrcloud/solr2/server/solr/configsets/
//拷贝配置至solr3
cp -r /usr/local/solr-6.6.0/example/example-DIH/solr/mail /usr/local/solrcloud/solr3/server/solr/configsets/

通过zookeeper上传配置

//通过zookeeper上传solr1的配置
/usr/local/solrcloud/solr1/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir /usr/local/solrcloud/solr1/server/solr/configsets/mail/conf -confname mail -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//通过zookeeper上传solr2的配置
/usr/local/solrcloud/solr1/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir /usr/local/solrcloud/solr2/server/solr/configsets/mail/conf -confname mail -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//通过zookeeper上传solr3的配置
/usr/local/solrcloud/solr1/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir /usr/local/solrcloud/solr3/server/solr/configsets/mail/conf -confname mail -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183

命令说明:

  • zkcli.sh:solr自带的zookeeper上传脚本
  • --cmd upconfig:表示这条 命令用于 上传配置
  • -confdir /usr/local/solrcloud/solr1/server/solr/configsets/mail/conf:表示配置目录所在
  • -confname mail:表示上传的配置的配置名
  • -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183:表示zookeeper服务地址

将上传到ZooKeeper中配置文件与collection相关联

/usr/local/solrcloud/solr1/server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -collection mail -confname mail -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183

命令说明:

  • zkcli.sh:solr自带的zookeeper上传脚本
  • --cmd linkconfig:表示这条 命令用于 将上传到ZooKeeper中配置文件与collection相关联
  • -collection mail:表示collection的名称
  • -confname mail:表示配置的配置名
  • -z192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183:表示zookeeper服务地址

重启服务

//重启solr1
/usr/local/solrcloud/solr1/bin/solr restart -c -p 8983 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//重启solr2
/usr/local/solrcloud/solr2/bin/solr restart -c -p 8984 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//重启solr3
/usr/local/solrcloud/solr3/bin/solr restart -c -p 8985 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183

测试服务
在浏览器中访问:http://192.168.71.128:8983/solr/,进入Solr Admin,页面如下:
这里写图片描述

3.导入数据与查询

下面对mail集合进行简单操作,以便能够了解Solr的基本操作。

mail集合刚刚建立好,其内是没有数据的。为了便于演示,我们首先进行数据的手动导入。

查看数据结构

  1. 在左侧菜单中点击Collection Selector下拉选择mail
  2. 在子下拉菜单中选择Files
  3. 在中间的文件树中点击managed-schema
    这里写图片描述
  4. managed-schema进行下拉查看,找到了字段信息,如下:
<field name="_version_" type="long" indexed="true" stored="true"/>

<field name="content" type="text_general" indexed="true" stored="true" multiValued="true"/>

<!-- catchall field, containing all other searchable text fields (implemented
     via copyField further on in this schema  -->
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

<field name="messageId" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="from" type="string" indexed="true" stored="true" omitNorms="true"/>
<field name="sentDate" type="date" indexed="true" stored="true"/>
<field name="xMailer" type="string" indexed="true" stored="true" omitNorms="true"/>

<field name="allTo" type="string" indexed="true" stored="true" omitNorms="true" multiValued="true"/>
<field name="flags" type="string" indexed="true" stored="true" omitNorms="true" multiValued="true"/>
<field name="attachment" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="attachmentNames" type="string" indexed="true" stored="true" omitNorms="true" multiValued="true"/>

编写JSON字符串

根据上述的字段结构,编写JSON字符串:

{"messageId":"0001",
"subject":"测试邮件",
"from":"李四",
"sentDate":"2017-01-22T17:33:18.333Z",
"xMailer":"163",
"allTo":"张三",
"flags":"李四",
"attachment":"今天天气不错",
"attachmentNames":"附件名称"}

导入JSON字符串

  1. 在左侧菜单中点击Collection Selector下拉选择mail
  2. 在子下拉菜单中选择Documents
  3. 将JSON字符串粘贴至Documents文本域中,点击Submit Document按钮,进行数据导入。
  4. 如果右侧显示success,则表示导入成功。
    这里写图片描述

查询导入的数据

  1. 在左侧菜单中点击Collection Selector下拉选择mail
  2. 在子下拉菜单中选择Query
  3. q文本域中录入查询条件messageId:0001 AND subject:测试邮件,即:查询messageId=1并且subject=测试邮件的邮件。
  4. 点击Execute Query进行查询,右侧会立刻显示查询结果。
    这里写图片描述

至此,对Solr的简单操作演示完毕。


4.Solr Admin简介

之前的演示只是为了让我们对Solr的后台操作有一个整体印象。

下面依次对Solr Admin的界面进行整体性的简单介绍;

1.Dashbord:仪表盘

仪表盘:显示Solr服务的基本信息,包括:实例信息、版本信息、JVM信息、硬件信息和内存信息,如下图所示。
这里写图片描述

2.Logging:日志

日志:显示和配置Solr服务的日志,可以通过点击右侧的日志级别进行调节,如下图所示:
这里写图片描述

3.Cloud:SolrCloud

SolrCloud:是对Solr集群配置的描述,分为三种展示类型:文件树形、普通图形以及星形图形,如下图所示:
这里写图片描述

4.Collections:集合信息

集合信息:展示了已经上传配置的集合信息,包括分片、集群节点情况等。可以进行集合的添加、重载和删除操作。
这里写图片描述

5.Java Properties:Java属性

Java属性:展示了Java相关属性,包括:编码方式、JRE配置、Solr安装目录、时区等等,具体如下图所示:
这里写图片描述

6.Thread Dump:线程回收站

线程回收站:显示了线程的运行情况。
这里写图片描述


7.Collection Selector:集合选择器

可以在**Collection Selector**中下拉选择一个集合,对这个集合进行具体操作。

下面以**mail**为例。

7.1.Overview:集合概述

集合概述:展示了这个集合的基本情况,包括:配置名称、分片信息、集群节点信息等,如下所示:
这里写图片描述

7.2.Analysis:分词

分词器:可以进行手动分词,下面以中华人民共和国为例:
这里写图片描述

自带的分词器并不理想,后续章节会讲解如何配置自定义分词器。

7.3.Dataimport:数据导入

数据导入:可以手动的进行数据的全量导入和增量导入。
这里写图片描述

后续章节会对数据导入进行详细介绍。

7.4.Documents:文章导入

文章导入:可以手动的进行文章导入。下面以**mail**这个集合的相应字段进行Json格式的文章导入:
这里写图片描述

7.5.File:配置文件

配置文件:显示了当前集合的配置文件,主要的文件有:

  • solrconfig.xml:当前集合的主配置文件,配置过滤器、分词器等等,后续章节会细说。
  • managed-schema:数据库的字段配置文件,如字段名称、是否唯一、字段类型、是否索引等等。
  • stopword.txt:停用词,如****等,即不进行分词的词。

这里写图片描述

后续还会追加一些配置,到时候在详细说明。

7.6.Query:查询/检索

查询/检索:可以进行Solr搜索,页面如下:
这里写图片描述

参数说明

参数简介
q查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*
fq(filter query)过虑查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id1的,并且sort15之间的。
start返回结果的第几条记录开始,一般分页用,默认0开始
rows指定返回结果最多有多少条记录,默认值为10,配合start实现分页
fl指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl=id,title,sort
sort排序方式,例如id desc表示按照id降序,建议一般的查询都用score desc即匹配度降序排序
wt(writer type)指定输出格式,有xml,json,php等,此参数一般不用
df默认的查询字段,一般默认指定。此参数一般不用
qt(query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。此参数一般不用
indent返回的结果是否缩进,默认关闭,用 indent=true on开启,一般调试json,php,phps,ruby输出才有必要用这个参数。此参数一般不用
version查询语法的版本,建议不使用它,由服务器指定默认值。此参数一般不用

运算符

符号含义
:指定字段查指定值,如返回所有值*?
?表示单个任意字符的通配
*表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
~表示模糊检索,如检索拼写类似于roam的项这样写:roam将找到形如foam和roams的单词;roam0.8,检索返回相似度在0.8以上的记录。
AND||布尔操作符
OR&&布尔操作符
NOT!-排除操作符,不能单独与项使用构成查询
+存在操作符,要求符号+后的项必须在文档相应的域中存在
( )用于构成子查询
[]包含范围检索,如检索某时间段记录,包含头尾,date:[201507 TO 201510]
{}不包含范围检索,如检索某时间段记录,不包含头尾date:{201507 TO 201510}

7.7.Schema:数据结构

数据结构:在这里可以对字段进行配置和查看。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值