solr后台管理界面以及文档操作

来源:互联网 发布:国内免费空间可帮域名 编辑:程序博客网 时间:2024/05/16 06:56

前面solr跟中文分析器已经安装配置好了,进入后台管理页面查看如下。
这里写图片描述
1、DashBoard:solr的版本信息、jvm的相关信息还有一些内存信息。
2、Logging:日志信息,也有日志级别,刚进入查看的时候肯定是有几个警告(warn)信息的,因为复制solr的时候路径发生了变化导致找不到文件,但是并不影响。
3、Core Admin:SolrCore的管理页面,也就是一个solr实例(前面说过Collection1就是一个solr实例),可以理解为一个数据库,所以外部可以对该solr实例中的数据进行增删改查操作。一个solr工程可以有多个SolrCore,它们之间不相互影响。一开始我们创建solrhome的时候添加了solr实例,那么需要添加别的怎么办呢?可以简单地在Collection1所在文件下下,复制该Collection1粘贴改名为Collection2,然后修改配置文件core.properties的name=Collection2。如下:
这里写图片描述

4、Java Properties:顾名思义,java的相关配置,比如类路径,文件编码等。
5、Thread Dump:solr服务器当前活跃的一些线程的相关信息。
以上的5个了解一下就行。
6、Core Selector:选择一个Solr实例进行操作。
下面详细介绍选择的Collection1进行增删改查操作。

solr相关操作

在将Ik分析器配置的时候已经配置好了业务域类型和业务域。如下:

<fieldType name="text_ik" class="solr.TextField">  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>
<field name="item_title" type="text_ik" indexed="true" stored="true"/><field name="item_sell_point" type="text_ik" indexed="true" stored="true"/><field name="item_price"  type="long" indexed="true" stored="true"/><field name="item_image" type="string" indexed="false" stored="true" /><field name="item_category_name" type="string" indexed="true" stored="true" /><field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/><copyField source="item_title" dest="item_keywords"/><copyField source="item_sell_point" dest="item_keywords"/><copyField source="item_category_name" dest="item_keywords"/>

分别表示:
1、商品标题
2、商品卖点
3、商品价格
4、商品图片
5、分类名称

注:不需要自己定义id的域,因为solr要求必须有唯一标识,id这个域他也给我们定义好了。
1、文档的添加
需求:添加商品id为1的商品
这里写图片描述
/update:表示修改操作,这里也就是增删改。
Document Type:文档类型,主要用的是JSON(增和改),XML(删除)。
Document(s):需要进行的文档操作。
Commit Within:执行时间,ms。
Overwrites:是否覆盖
Boost:公平性(忽略)。

点击Submit Document按钮后执行添加文档操作。其实添加的时候先会查询有没有id为1的商品,没有的话则添加,有的话则覆盖(修改)。Status:Success表示操作成功了。然后可以去查询一下。
这里写图片描述
查询到了刚才添加的商品(暂时忽略是怎么查的,待会会讲到查询)。

2、文档的修改
讲添加的时候已经讲过修改了。可以理解为就是根据id查询信息,查询到了之后再覆盖(修改)。比如我这里要修改上面添加的id为1的商品,标题为”苹果10plus”,价格300。
这里写图片描述
点击提交按钮后再查询id为1的商品信息。
这里写图片描述
发现id为1的商品的标题跟价格已经改了。
3、文档的删除

1、根据id删除
删除前面添加的id为1的商品

将Document Type改为XML, 然后document(s)中输入:

<delete>    <id>1</id></delete><commit/>

这里写图片描述
2、根据查询到的索引数据删除

<delete>    <query>item_title:"苹果10plus"</query></delete><commit/>

3、删除所有文档

<delete>    <query>*:*</query></delete><commit/>表示删除所有记录

4、查询索引数据

参数介绍:

1、q:查询字符串,可理解为根据关键字查询的关键字。必填项,如果查询所有则是

*:*

查询商品标题中包含”苹果的”商品信息

item_ittle:"苹果"

这里写图片描述
共查询出来了94条相关信息。

2、fq:查询过滤器,比如查询商品价格在7000000(单位是分)以上的,标题中好友”苹果的”,商品信息。

item_price:[700000 TO *]

这里写图片描述

一共查询出来了8条记录。

3、sort:排序规则,field desc(asc),比如查询商品价格在7000000(单位是分)以上的,标题中好友”苹果的”(同上),id降序排的商品信息。

id desc

这里写图片描述
当然还是查询出来8条商品记录,但是这里是按照id降序进行了排列。

4、fl:输出项,即查询结果中列出来的field。比如查询商品价格在7000000(单位是分)以上的,标题中好友”苹果的”,id降序排的(同上),结果中只列出商品id、标题、价格的商品信息。

id,item_title,item_price

这里写图片描述

5、df:指定默认查询的field,如果这里指定了默认查询field,那么在查询字符串q里面就可以直接写查询关键字了。

q:"苹果"df:item_title

这里写图片描述
查询效果跟上面是一样的。

6、start,rows:分页查询的开始下标位置跟查询记录数
比如查询条件跟上面还是一样,但是查询的下标是3,查3条。

start,rows:3  3

这里写图片描述
搜索结果能看到,查询开始下标为3,查出三条数据。

7、wt:查询结果输出格式,前面都是用的json,比如这里我要用xml格式输出(其实不会这样做),另外还有php,ruby,python等输出格式。
这里写图片描述
说到这感觉跟sql类似。后面还有个有特色的参数,hl。

8、hl:是否显示高亮,如果显示的话那么需要填下如下

hl.fl  显示高亮的fieldhl.simple.pre 显示高亮的格式的前缀 如<em>,<span>hl.simple.post 显示高亮的格式的后缀如</em>,</span>

比如查询结果还是跟上面一样,但是需要显示商品标题高亮,格式为
这里写图片描述

注:其实最后我们在java中实现的时候,为了显眼会设置样式,比如颜色为红色,那么在代码实现时候可以设置。

<em style=’color:red’>

到这里使用后台管理界面进行基本操作就结束了。

原创粉丝点击