欢迎投稿

今日深度:

Solr 3,

Solr 3,


上篇介绍了 Solr 的目录结构。


和 Lucene 不同,Solr 中用配置代替了手写代码去创建索引,但仅仅创建 xml 的配置文件还不够,

需要通过 http 请求将 xml 文件传给 Solr 才会产生索引文件。


为什么这样设计,而不是让 solr 直接读取 xml 文件呢,总归由他的深思熟虑。。。

因为使用了 http 所以可以用任何语言和 Solr 交互。


先启动 solr ,然后执行命令行

cd ..\solr-4.10.0\example\exampledocs & java -jar post.jar solr.xml

这样就通过 http post 请求将 solr.xml 传给了 solr,solr 会根据该配置文件生成索引。

上一篇有提到 data 目录为生成索引的文件夹,本来是空的,请求之后就索引文件了。


<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 一样,add document which contains some fields。

然后到 http://localhost:8983/solr/#/collection1/query,并执行查询。



返回结果正是刚才 post 的 xml 文件中的值。


一个现象

发送时用的是 POST 请求,查询时用的是 GET 请求,正好符合他们的本意。


重复执行之前的 post 命令,将 solr.xml 改为 *.xml,即发送所有 xml 文件。

在查询页面将  q 设为 ipod,fl 设为 name,features,score,执行查询:



返回了三分 document,并且他们的评分(score)不同,降序排列,这就是 Solr 或者说 Lucene 的评分机制。

评分机制挺复杂的,直观上和 ipod 出现的次数有关,但也会 field 和 document 以及查询参数的权重有关,暂时不了解。


在这个查询页面中,可以排序,分页,过滤等等,在 Lucene 中也许需要写一个类来做到的,Solr 中变成了一个参数。


最后,Solr 不是一个给用户用的应用,以后界面应该自己去写,Solr 应该也会给出相应的操作方法,拭目以待。





www.htsjk.Com true http://www.htsjk.com/solr/32889.html NewsArticle Solr 3, 上篇介绍了 Solr 的目录结构。 和 Lucene 不同,Solr 中用配置代替了手写代码去创建索引,但仅仅创建 xml 的配置文件还不够, 需要通过 http 请求将 xml 文件传给 Solr 才会产生索引...
相关文章
    暂无相关文章
评论暂时关闭