文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
本文主要是使用solr的简单教程。详细内容可以参考http://lucene.apache.org/solr/tutorial.html或者其他网站。
1.首先下载solr1.3.0,地址为http://www.apache.org/dyn/closer.cgi/lucene/solr/
2.将下载下的文件解压。
3.下载下的solr自带一个jetty启动的版本,运行apache-solr-1.3.0\example下的start.jar即可
4.访问http://localhost:8983/solr/admin/,可以看到一个管理界面,这是进行搜索,返回的结果都是0,因为还没有索引。
5.现在开始建立索引,solr是基于lucene,所以一些概念是一样的,比如field,doc等等。如果不理解这些概念,可以看一下lucene in action这本书,或者是lucene的相关文档。solr的索引内容可以用xml形式的文件描述,exampledoc文件下有一些example,随便打开一个,大致内容如下:
<add>
<doc>
<field name="id">SOLR1000</field>
<field name="name">Solr, the Enterprise Search Server</field>
<field name="manu">Apache Software Foundation</field>
<field name="cat">software</field>
<field name="cat">search</field>
<field name="features">Advanced Full-Text Search Capabilities using Lucene</field>
<field name="features">Optimized for High Volume Web Traffic</field>
<field name="features">Standards Based Open Interfaces - XML and HTTP</field>
<field name="features">Comprehensive HTML Administration Interfaces</field>
<field name="features">Scalability - Efficient Replication to other Solr Search Servers</field>
<field name="features">Flexible and Adaptable with XML configuration and Schema</field>
<field name="features">Good unicode support: héllo (hello with an accent over the e)</field>
<field name="price">0</field>
<field name="popularity">10</field>
<field name="inStock">true</field>
<field name="incubationdate_dt">2006-01-17T00:00:00.000Z</field>
</doc>
</add>
如果使用过lucene,应该很容易理解这个xml的内容的含义。也可以自己写一些类似格式的xml文件。
6.提交索引 运行这个目录下的exampledioc目录下的post.jar,将需要提交的xml的文件作为参数,比如:
java -jar post.jar solr.xml
这样索引就会提交并建立好
7.此时在访问http://localhost:8983/solr/admin/,在querystring中输入solr作为关键字。点击搜索,可以看到返回的搜索结果。