note:solr的基本概念

Solr 和 Lucene 中,使用一个或多个 Document 来构建索引。Document 包括一个或多个 FieldField 包括名称、内容以及告诉 Solr 如何处理内容的元数据。例如,Field 可以包含字符串、数字、布尔值或者日期,也可以包含您想添加的任何类型。Field 可以使用大量的选项来描述,这些选项告诉 Solr 在索引和搜索期间如何处理内容。
主要是这两个属性。
 
 
一个索引示例
浏览到 http://localhost:8080/dw/index.jsp 可以查看索引过程的更多细节。首先为表单中的每个字段填入适当的条目并按 Submit 按钮。示例应用程序接受条目、创建 Solr 请求并显示请求以便在下一个屏幕上查看。清单 1 包含了一个 add 命令的例子,当您按下 Submit 按钮时向 Solr 发送这个命令。

清单 1. Solr add 命令样例

<add>
    <doc>
        <field name="url">http://localhost/myBlog/solr-rocks.html</field>
        <field name="title">Solr Search is Simply Great</field>
        <field name="keywords">solr,lucene,enterprise,search</field>
        <field name="creationDate">2007-01-06T05:04:00.000Z</field>
        <field name="rating">10</field>
        <field name="content">Solr is a really great open source search server. It scales,
        it's easy to configure and the Solr community is really supportive.</field>
        <field name="published">on</field>
    </doc>
</add>

清单 1 的 <doc> 中的每个 field 条目告诉 Solr 应该将哪些 Field 添加到所创建文档的 Lucene 索引中。可以向 add 命令添加多个 <doc>。稍后我将解释 Solr 如何处理这些 field。现在,知道包含清单 1 中指定的七个 field 的文档将会被索引就足够了。
当您在 “Solr XML Command” 页面提交命令时,结果将发往 Solr 进行处理。HTTP POST 将命令发往在 http://localhost:8080/solr/update 运行的 Solr Update Servlet。如果一切进展顺利,则会随 <result status="0"/> 返回一个 XML 文档。Solr 使用相同的 URL 自动更新文档(示例应用程序中的 URL 是 Solr 识别文档以前是否被添加过所使用的惟一 id)。solr接受多种文件格式(xml,json,csv ;还可以利用solr的提取库从word,pdf等文档中提取数据进行索引)。
上面的doc示例为提交一篇blog进行索引。
检索得到的数据也以doc为单位。
字段声明的高级特性dynamicField
(Roo 插件中将 索引的实体类都声明为 动态字段 比如
<dynamicField name="*_i" type="sint" indexed="true" stored="true"/> 属性只要满足*_i的格式,就按上面的配置处理)。
 





posted @ 2012-01-19 17:03  HelloCoding  阅读(270)  评论(0编辑  收藏  举报