您的位置:首页 > 其它

Solr应用开发——Solr home目录结构简介1

2010-03-20 00:08 375 查看
这篇文章将简要的介绍一下Solr的目录结构。进入Solr所在的目录,我们可以看到以下几个目录:build、client、dist、example、lib、site、src。接下来分别对其进行介绍。 build:该目录是在ant build过程中生成的,其中包含了未被打包成jar或是war的class文件以及一些文档文件。

client:该目录包含了特定语言的Solr客户端API,使得使用其他语言的用户能通过HTTP用XML与 Solr进行通话。现在该目录里面虽然包含javascript、python、ruby三个子目录,但是到目前为止只包含一部分的ruby的代码,其他 语言仍是空的。另外,Solr的Java客户端称为SolrJ,其代码位于src/solrj目录下面。在之后的文章中我会详细介绍Solr客户端的使 用。

dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。还记得上一篇文章中,我 们在build 1.4版本的Solr源代码后需要部署example吗?其实就是将该目录下面的apache-solr-1.4.war部署到Jetty上面去,并重命 名为solr.war。

example:这个目录实际上是Jetty的安装目录。其中包含了一些样例数据和一些Solr的配置。其中一些子目录也比较重要,这里也对它们稍作介绍。

example/etc:该目录包含了Jetty的配置,在这里我们可以将Jetty的默认端口从8983改为80端口。
你需要找到以下代码: 查看源代码打印帮助
01
<
Call
name
=
"addConnector"
>
02
<
Arg
>
03
 
<
New
class
=
"org.mortbay.jetty.bio.SocketConnector"
>
04
 
<
Set
name
=
"port"
>
05
<
SystemProperty
name
=
"jetty.port"
default
=
"8983"
/>
06
 
</
Set
>
07
 
<
Set
name
=
"maxIdleTime"
>50000</
Set
>
08
 
<
Set
name
=
"lowResourceMaxIdleTime"
>1500</
Set
>
09
 
</
New
>
10
</
Arg
>
11
</
Call
>
将其中的8983端口换成80端口。注意更改端口后启动Jetty可能会提示你没有权限,你需要使用sudo java -jar start.jar来运行。

example/multicore:该目录包含了在Solr的multicore中设置的多个home目录。在之后的文章中我会对其进行介绍。
example/solr:该目录是一个包含了默认配置信息的Solr的home目录。下一篇博文将详细介绍Solr的home目录的结构。
example/webapps:Jetty的webapps目录,该目录通常用来放置Java的Web应用程序。在Solr中,前面提到的solr.war文件就部署在这里。
lib:该目录包含了所有Solr的API所依赖的库文件。其中包括Lucene,Apache commons utilities和用来处理XML的Stax库。

site:该目录仅仅包含了Solr的官网的网页内容,以及一些教程的PDF文档。

src:该目录包含了Solr项目的整个源代码。这里对其各个子目录也做相应的介绍。

src/java:该目录存放的是Solr使用Java编写的源代码。
src/scripts:该目录存放的是配置Solr服务器的Unix Bash Shell脚本,在后面介绍多服务器配置中将会有重要的作用。
src/solrj:前面提到过该目录存放的是Solr的Java版本的客户端代码。
src/test:该目录存放的是测试程序的源代码和测试文件。
src/webapp:该目录存放的是管理Solr的Web页面,包括Servlet和JSP文件,其构成了前面提到的WAR文件。管理Solr的JSP页面在web/admin目录下面,如果你有兴趣折腾Solr可以找到相应的JSP的页面对其进行设置。
本打算在这篇文章里面把Solr的home目录结构也给写出来,但是看看,文章已经有点长了,那就放到下一篇吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: