一、Solr 程序包 的目录结构
l client :包含了一些特定语言调用Solr 的API 客户端程序,目前只有Ruby 可供选择。
l contrib: 更多内容和索引的支持与扩展。
² contrib /analysis-extras:提供了基于大量依赖和字典的加强分析器。
² contrib /clustering:提供了给第三方聚簇实现的插件。
² contrib /dataimporthandler:数据导入工具,可以从数据库,xml文件和http数据源导入。
² contrib /extraction:更多抽象支持包。
² contrib /uima: UIMA 元数据抽象库和使用应该做的配置。
l dist :存放Solr 构建完成正式发布的JAR 文件、WAR 文件和Solr 依赖的JAR 文件。
l docs: 包含Solr的官方说明文档和使用API。
l example :是一个安装好的Jetty 中间件,其中包括一些样本数据和Solr 的配置信息。
² example/etc :Jetty 的配置文件。
² example /example-DIH:数据导入的配置和事例。
² example /exampledocs:post.jar可以用来建立索引。*.xml可以作数据源。
² example /lib: 相关的包,jsp,jetty, servlet有关。
² example /logs: 记录日志,初始状态为空。
² example/multicore :当安装Slormulticore 时,用来放置多个Solr 主目录。
² example/solr :默认安装时一个Solr 的主目录。给出一个例子,展示solr home是什么样,建议新建一个solr实例时,复制这个文件夹下的所有文件。
² example/webapps :Solr 的WAR 文件部署在这里。是一个可运行的例子。
² example /work:工作目录,默认为空。
² example/start.jar: 通过运行start.jar可以使example中的Solr.war在Jetty环境下启动服务。
二、Solr 主目录结构
当Solr启动时,第一件事就是从主目录中读取它的配置。一个运行的Solr 服务其主目录包含了Solr 的配置文件和数据(Lucene 的索引文件)
Solr 的主目录展开后为如下结构:(example/solr )
l bin :建议将集群复制脚本放在这个目录下。
l conf :放置配置文件。
² conf/schema.xml :建立索引的schema 包含了字段类型定义和其相关的分析器。
² conf/solrconfig.xml :这个是Solr 主要的配置文件。
² conf/velocity:以*.vm来进行页面展示。
² conf/xslt :包含了很多xslt 文件,这些文件能将Solr 的XML 的查询结果转换为特定的格式,比如:Atom/RSS 。
l data :放置Lucene 产生的索引数据。
l lib :放置可选的JAR 文件比如对Slor 扩展的插件,这些JAR 文件将会在Solr 启动时加载。
三、post.jar的使用
1. post.jar可以用来添加索引,通过反编译post.jar得到SimplePostTool.java这一个类。
2. 工具默认的参数以D(default)为前缀:
l 请求的url是 -Durl=http://localhost:8983/solr/update。
l 是否提交-Dcommit=yes。
l 数据来源-Ddata=files。
l 数据的文本类型-Dtype=application/xml。
l 请求是否输出到控制台-Dout=no。
3. 数据来源可以来自文件、参数和控制台,指定建立索引的文件和字段及值。
来自文件, 例java-Ddata=files -jar post.jar *.xml,可以省略为java -jar post.jar *.xml (因为是默认-Ddata=files)
来自参数,例:java-Ddata=args -jar post.jar '<delete><id>42</id></delete>'
来自控制台输入,例:java-Ddata=stdin -jar post.jar < hd.xml
四、管理控制台
管理控制台指的是把solr。war部署了以后 访问/solr/admin出现的那个界面。
灰色的区域在每一个页面上都会显示。如果你开发多个Solr,知道你处在哪个Solr的哪个地方是很重要的。这时IP和端口就很有用。(example)是引用schema的名字。然后就是当前工作目录,和Solr主目录。
l 这个模块下面就是导航栏,可以去不同的管理页面和数据配置。如下分别解释:
l SCHEMA: 直接下载schema的配置文件(XML)在浏览器中展示。
l CONFIG: 和SCHEMA相似, 但它是Solr中的主要配置文件。
l ANALYSIS: 被用来诊断潜在的查询和索引问题。
l SCHEMA BROWSER: 可以清晰查看schema, 反映索引中真实的数据。
l STATISTICS: 在这里你能看到计时和高速缓存命中率统计。可以用来评估Solr的性能。
l INFO: 列出了Solr内部组件的静态版本信息。(坦白说,没什么用。)
l DISTRIBUTION: 它包含了分布式/复制状态信息,只适用这种配置。
l PING: 忽略这个,虽然可以用它来进行分布模式下的正常状态检查。
l LOGGING: 允许在运行时调整Solr不同部分的日志级别。(Solr 使用 SLF4j 来处理日志 , 如果你对Log4J或其他框架更熟悉,只需移除slf4j-jdk14 JAR文件,加入adding slf4j-log4j包)
l JAVA PROPERTIES: 列出了Java系统的属性。
l THREAD DUMP: Java 线程转储对有经验的程序员诊断问题是很有用的。
在主菜单下有一个Make a Query 文本框,可以输入简单的查询。Solr还没有数据,所以查不到什么结果。
l FULL INTERFACE: 提供更多的查询选项,在诊断查询出现的问题和忘记URL的查询参数时特别有用,但是这个表单还是很受限制,查询选项有限。
最后,最底下的Assistance包含Solr官网在线查询的有用信息。