Solr入门实践-创建Core和控制台介绍
这篇文章,主要是讲解如何使用命令行创建Core(核心),然后讲解启动Solr后,打开Web的控制台后,相应的控制台介绍和导入数据以及查询操作。Solr相关介绍可以参考: https://blog.csdn.net/strive_or_die/article/details/99887770
创建Solr的Core
1. 先启动Slor,指定solr start
,如果找不到该指令,则从cmd中切换目录到${solr.home}\bin
下,执行该命令,启动Solr。
2. 打开dos命令窗口,切换目录到${solr.home}\bin
,然后输入:solr create -c [corename]
之后回车(前提是先通过solr start
启动solr);
3. 打开solr安装文件,在${solr.home}\server\solr
下就会出现新的文件夹[corename]
(就是新创建的core);
4. 打开浏览器,输入solr访问路径:http://localhost:8983/solr
,就会看到新建的core
下面创建了一个名为:questioncore
的Core:
创建了Core后,该Core的会在${solr.home}\server\solr
下,有了一个名为questioncore
目录,这里存在者一个Core对应的配置和数据。
server/solr/questioncore
目录,data
是文档数据和索引存放的目录,conf
是该Core的配置文件。
server/solr/questioncore/config
目录,其中存在着managed-schema
和solrconfig.xml
文件,这是两个很关键的文件,managed-schema
定义了solr的core中的文档和域,相当于表结构的定义,而solrconfig.xml
定义了各种各样的处理器和查询器已经导入依赖的Jar等配置。
Solr的web控制台
打开浏览器,访问http://localhost:8983/solr
,记得要启动了solr;那么可以再Solr提供的控制台中查看新建的Core,这个控制台程序是运行在Netty服务器中的。
选中名为questioncore的Core,可以看到该Core对应的一些操作选项和功能:
Dashboard:仪表盘,查看
系统的信息和Solr信息
,包括JVM等。Java Properties:Solr在
JVM
运行环境中的属性信息,包括类路径、文件编码、jvm内存设置等信息。Tread Dump:显示Solr Server中当前
活跃线程信息
,同时也可以跟踪线程运行栈信息
。Logging:显示solr运行出现的
异常或错误
Core Admin: core管理
Analysis :
分析,检验分词效果
Dataimport:从数据库导入数据前提是已经配置好了相关的配置
Documents:索引文档的相关操作
Files:
solr_home下的core下的conf下的相关文件
,可单击查看里面的内容。Query:查询页面
Plugins/Status :对Solr的一些核心类的监控和状态信息。
简单查询
点击Query
选项,在这里可以模拟查询操作,可以进行查询,下图中填写了查询条件为*:*
,表示查询该Core所有数据,因为我们的Core是刚刚创建的所以是没有任何数据的,可以看到下列结果为空。
基本查询说明
q : 查询的关键字,此参数最为重要,例如,
q=id:1
,表示查找id为1的文档,默认为q=*:*
,表示查找所有的文档fl: 指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,
fl= id,title,sort,表示返回id,title和sort这三个字段内容
start: 返回结果的第几条记录开始,一般分页用,默认
0
开始rows: 指定返回结果最多有多少条记录,默认值为
10
,配合start实现分页sort: 排序方式,例如
id desc
表示按照“id”
降序wt (writer type):指定输出格式,有
xml, json
等fq (filter query):过虑查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:
q=id:1&fq=sort:[1 TO 5]
,找关键字id为1
的,并且sort是1到5之间
的。df : 默认的查询字段,一般默认指定。
qt (query type): 指定那个类型来处理查询请求,一般不用指定,默认是
standard
。indent : 返回的结果是否缩进,默认关闭,用
indent=true|on
开启。
使用post.jar导入数据
通过Solr提供的post.jar
来实现导入文档数据到指定的core中;因为现在的Core还是新建的,所以没有什么数据,我们可以进入到${solr.home}\example\exampledocs
目录下,使用post.jar
将目录下的文档导入进指定的Core中。
# -Dc 指定Core -Drecursive 递归导入所有数据 . 表示当前目录下的文档
java -Dauto -Dc=questioncore -Drecursive -jar post.jar .
指定导入后可以看到下列的日志,完成。
再次查询
经过上面的文档导入后,那么再次查找,使用q*:*
查找所有的文档,可以看见查找到的文档