Solr3.3基础知识
一、Solr程序包的目录结构
lclient:包含了一些特定语言调用Solr的API客户端程序,目前只有Ruby可供选择。
lcontrib: 更多内容和索引的支持与扩展。
²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官网在线查询的有用信息。