为了方便管理员和工程师调整Solr的配置和访问在线文档和其他的帮助,Solr提供了一个Web界面去查看Solr的配置详情,运行查询语句和分析文档字段。这个界面在第三篇里面提到过就是管理员界面(以下简称Admin UI),如下图所示:
可以看出Admin UI的界面还是比较复杂的。下面将分别就界面的各个模块进行讲解。
获取帮助
在右侧区域的底部,就是帮助区,无论当前正在Admin UI上操作什么,帮助区的位置始终不变并且一直显示。如下表:
链接 | 描述 |
Documentation | 导航到Solr的在线文档页面。 |
Issue Tracker | 导航到Apache Solr项目的JIRA问题跟踪服务器。服务地址: |
IRC Channel | 导航到Apache的维基百科页面,描述如何加入Solr的IRC在线聊天室: |
Community forum | 导航到Apache的维基百科页面,这里有关于加入Solr社区邮件列表的更多信息。 |
Solr Query Syntax | 导航到Guide文档的Query Syntax and Parsing小节。 |
日志
日志页面显示当前Solr节点最近记录的信息。点击Admin UI左侧的Logging链接,就能看到下图类似的页面。
设置日志的级别
当选中Logging下的Level链接时,将会看到一个classpath和classname的层级结构。点击任意一行,都会弹出一个日志级别的菜单,可以设置任意级别或取消级别设置。因为日志设置是树状的,设置了父节点的日志级别,将会默认的作用到其子节点,除非子节点有特定的设置。如图所示,root下的所有节点默认都是INFO级别,但是hadoop节点将只会输出WARN级别的日志。
Core Admin
Core Admin界面提供了一些管理Core级别信息的基础功能,并且由Core Admin API驱动。在Core Admin界面(如下图)中,左侧是一个已经存在的Core的列表,点击任意一个Core名称,可以进而查看它的详细信息,同时还能完成各种操作。
Java Properties
Java Properties界面,提供到Solr系统中最高效率的必备组件的简单访问。在这个界面,我们能看到运行着Solr的JVM的所有的属性:包括class path,文件编码,JVM内存设置,操作系统等等。
Thread Dump(线程堆栈)
线程堆栈界面,能使你检查服务器上当前的活跃线程。每一个线程都被展示在列表中,而且对于堆栈轨迹的访问查看也是可以的。
线程名称左边的图标,用于指示线程的状态,例如:打勾的表示的是“可运行状态”;线程名称右边的乡下的箭头,用于指示可以展开查看堆栈轨迹。当移动指针到线程名称上面的时候,线程状态将显示出来。有下面这样一些线程状态:
状态 | 意义 |
NEW | 线程未启动。 |
RUNNABLE | 线程正在JVM上运行。 |
BLOCKED | 线程被监视器锁阻塞。 |
WAITING | 线程无限期的等待另一个线程完成一个特定的动作。 |
TIMED_WAITING | 线程等待另一个线程完成一个动作来指定一个等待时间。 |
TERMINATED | 线程已经退出。 |
Core Selector
点击Core Selector菜单,将会显示一个当前Solr实例中的Core的列表;如果Core过多,还可以通过列表上方的搜索框对特定的Core进行搜索。当选中一个Core之后,内容区域将会展示Core对应的元数据,同时在Core选择框下面,会出现一个二级菜单。
二级菜单如下:
- Overview:选择Core之后呈现的默认界面,展示Core的统计信息、实例信息、同步复制等信息。
- Analysis:分析从指定字段找到的数据。
- Dataimport:显示Data Import Handler当前的状态信息。
- Documents:提供一个简单的表单,让你可以通过浏览器直接执行许多Solr的索引命令。
- Files:显示当前Core的配置文件。
- Ping:检测服务器的可链接情况。
- Plugins/Stats:查看Core的插件及统计状态信息。
- Query:使得你可以提交一个关于Core中多个元素的结构化查询。
- Replication:展示主从复制的基本信息。并且可以完成简单的设置。
- Schema:显示模式的基本信息。可以添加字段、动态字段和拷贝字段。
- Segmetns info:查看分片信息。
Analysis(分析界面)
分析界面使得你可以检查怎样根据Schema中设置的字段、字段类型和动态字段配置来处理数据。你可以同时分析内容在建索引时和处理查询时会被如何处理以及单独查看结果。理想状况下,你可能希望内容能始终如一的处理,并且此界面允许你验证字段和字段分析链的设置。
在下图顶部的一个或两个输入框中都输入内容,然后选择将要分析的字段名或字段类型。勾选Verbose Output将会看到更多的输出信息。
Dataimport(数据导入界面)
数据导入界面展示DataImportHandler的配置,并且允许你启动和监测导入命令的状态。倒入命令的定义见下图中间区域。此界面同时让你可以调整选项内容去控制如何把数据倒入到Solr,查看控制倒入的配置文件。
Documents(文档界面)
文档界面提供了一个简单的表单,允许你可以执行许多Solr的索引命令,而且支持数种文档格式(如:JSON,XML,CSV等),甚至支持上传对应格式的文档。
第一步是定义RequestHandler,又叫做‘qt’。默认情况下使用/update,如果要使用Solr Cell,将命令改为/update/extract。接着选择文档类型,选择文档类型后,下面的参数将会发生改变。
JSON
当使用JSON文档类型,就像在命令行使用RequestHandler一样。不同的是,在Documents文本框中录入文档,而不是在命令行中录入,但是文档的结构还应该是JSON类型。然后确定文档应该什么时候添加到索引中(Commit Within),无论是否已经存在相同id的文档需要被覆盖(如果不允许覆盖,那么新加入的文档将被删除),最后提交文档。
CSV
当使用CSV文档类型,和命令行使用RequestHandler也是一样的。不同的是,在Documents文本框中录入文档,而不是在命令行中录入,但是文档的格式是CSV格式的。然后确定文档应该什么时候添加到索引中(Commit Within),无论是否已经存在相同id的文档需要被覆盖(如果不允许覆盖,那么新加入的文档将被删除),最后提交文档。
File Upload
File Upload选项,允许上传一个已经准备好的文件。如果只是用/update命令,上传文档的格式限制在XML,CSV和JSON格式。
Solr命令
Solr命令选项允许使用XML或JSON执行指定动作。例如定义添加或删除文档,更新文档的指定字段,提交和优化索引的命令。当使用/update命令的时候,文档要按需格式化。
XML
当使用XML文档类型,和命令行使用RequestHandler也是一样的。不同的是,在Documents文本框中录入文档,而不是在命令行中录入,但是文档的格式是XML格式的,每个文档都需要用<doc>标签分割,在<doc>标签内定义字段。然后确定文档应该什么时候添加到索引中(Commit Within),无论是否已经存在相同id的文档需要被覆盖(如果不允许覆盖,那么新加入的文档将被删除),最后提交文档。
文件界面
在文档界面,我们可以查看选中集合或Core的配置文件(诸如solrconfig.xml和Schema文件等)。solrconfig.xml文件定义了Solr索引内容和查询响应的行为。Schema允许定义文档的字段类型、定义文档的字段以及动态字段。其他的配置文件通常都依赖于它们如何引用solrconfig.xml或Schema文件。
在此界面中不能编辑配置文件,要编辑配置文件,需要使用其他文本编辑器。
Query(查询界面)
在查询界面可以提交一个查询请求到Solr集合(或者Core),并且分析结果。在下图的示例中,已经提交了一个默认的查询,右侧部分显示的是查询结果。右侧顶部展示完整的查询http请求(可以在其它编程语言中使用该请求完成跨平台的查询)。
查询界面有很多的查询字段或参数。如下表:
字段 | 描述 |
Request-handler(qt) | 为请求指定查询处理器(query handler)。如果为指定查询处理器,Solr将使用标准查询处理器来处理响应。 |
q | 查询事件。详细的查询参数将在后面介绍。 |
fq | 过滤查询。 |
sort | 对查询结果按照正序或者倒序排列,排序依据响应的分数或者指定的字符。 |
start,rows | start是查询结果的偏移量,默认是0,意味着会从第一个查询到的结果返回。rows指示返回结果的行的数量。 |
fl | 定义结果文档的字段。可以显示的指定字段,默认情况下返回所有字段。通过指定字段名的序列,以逗号(,)或空格( )分割。 |
wt | 指定返回结果的格式(json\xml\python\ruby\php\csv)。 |
indent | 选中该选项,以表明对查询结果进行缩进显示。可以提高结果的可读性。 |
debugQuery | 选中该选项,查询结果将增加Debug信息,包括每个文档的Explain info。 |
dismax | 选中该选项,Dismax查询解析可用。 |
edismax | 选中该选项,Extended查询解析可用。 |
hl | 选中该选项,高亮查询结果。 |
facet | 选中该选项,允许分段查询。 |
spatial | 选中该选项,允许使用位置数据。 |
spellcheck | 选中该选项,启用语法验证。 |