Solr原理

Solr原理

Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回Solr 的标准 XML 响应,也可以配置Solr 的备用响应格式


可以向 Solr 索引 servlet 传递四个不同的索引请求:
add/update 允许向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
commit 告诉 Solr,应该使上次提交以来所做的所有更改都可以搜索到。
optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。
delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。

一个典型的Add请求报文

<add>  
  <doc>  
    <field name="id">TWINX2048-3200PRO</field>  
    <field name="name">CORSAIR  XMS 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail</field>  
    <field name="manu">Corsair Microsystems Inc.</field>  
    <field name="cat">electronics</field>  
    <field name="cat">memory</field>  
    <field name="features">CAS latency 2, 2-3-3-6 timing, 2.75v, unbuffered, heat-spreader</field>  
    <field name="price">185</field>  
    <field name="popularity">5</field>  
    <field name="inStock">true</field>  
  </doc>  
  <doc>  
    <field name="id">VS1GB400C3</field>  
    <field name="name">CORSAIR ValueSelect 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - Retail</field>  
    <field name="manu">Corsair Microsystems Inc.</field>  
    <field name="cat">electronics</field>  
    <field name="cat">memory</field>  
    <field name="price">74.99</field>  
    <field name="popularity">7</field>  
    <field name="inStock">true</field>  
  </doc>  
</add> 

一个典型的搜索结果报文:

<response>  
    <lst name="responseHeader">  
        <int name="status">0</int>  
        <int name="QTime">6</int>  
        <lst name="params">  
            <str name="rows">10</str>  
            <str name="start">0</str>  
            <str name="fl">*,score</str>  
            <str name="hl">true</str>  
            <str name="q">content:"faceted browsing"</str>  
        </lst>  
    </lst>  
  
    <result name="response" numFound="1" start="0" maxScore="1.058217">  
        <doc>  
            <float name="score">1.058217</float>  
            <arr name="all">  
                <str>http://localhost/myBlog/solr-rocks-again.html</str>  
                <str>Solr is Great</str>  
                <str>solr,lucene,enterprise,search,greatness</str>  
                <str>Solr has some really great features, like faceted browsing and replication</str>  
            </arr>  
            <arr name="content">  
                <str>Solr has some really great features, like faceted browsing and replication</str>  
            </arr>  
            <date name="creationDate">2007-01-07T05:04:00.000Z</date>  
            <arr name="keywords">  
                <str>solr,lucene,enterprise,search,greatness</str>  
            </arr>  
            <int name="rating">8</int>  
            <str name="title">Solr is Great</str>  
            <str name="url">http://localhost/myBlog/solr-rocks-again.html</str>  
        </doc>  
    </result>  
  
    <lst name="highlighting">  
        <lst name="http://localhost/myBlog/solr-rocks-again.html">  
            <arr name="content">  
                <str>Solr has some really great features, like <em>faceted</em>  
                <em>browsing</em> and replication</str>  
            </arr>  
        </lst>  
    </lst>  
</response> 

关于 solr的详细使用说明,请参考
http://wiki.apache.org/ solr/FrontPage


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值