zoukankan      html  css  js  c++  java
  • SolrEntityProcessor

    SolrEntityProcessor从不同的solr实例和内核中引入数据,这个数据是基于指定的或者是过滤的查询来获取到的.如果你需要复制索引,并且小幅度的修改目标索引文件中的数据,那么可以使用SolrEntityProcessor.某些情况下,solr可能是唯一一个所有数据都可用的地方,SolrEntityProcessor可以复制源索引文件中存储的字段,SolrEntityProcessor支持以下属性:

    • url:(必填) Solr的实例/内核的URL.
    • query:(必填) 执行在源索引文件上的主查询.
    • fq:执行在源索引文件上的任何过滤查询(逗号分割).
    • rows:每次迭代返回的行数(默认50).
    • fl:从源索引文件中抓取的字段(逗号分割).
    • qt:应给使用什么样的搜索句柄处理.
    • wt:响应格式(javabin,xml),如果solr版本不匹配的话使用xml.
    • timeout:查询超时时间,以秒为单位,这可以被用来作为故障安全,以防止索引会话凝固起来。默认情况下,超时时间为5分钟。

    例子1:

    <dataConfig>
      <document>
        <entity name="sep" processor="SolrEntityProcessor" url="http://localhost:8983/solr/db" query="*:*"/>
      </document>
    </dataConfig>

    例子2:

    从源索文件中读取标题和内容.

    <dataConfig>
     <script><![CDATA[
            id = 1;
            function GenerateId(row) {
                row.put('id', (id ++).toFixed());
                return row;
            }       
           ]]></script>
        <document>
            <entity name="test"  processor="SolrEntityProcessor" 
                url="http://118.85.207.11:11000/solr/province"
                query="*:*"
                fq="kng_id:87533"
                fl="title,content"
                transformer="script:GenerateId">
                <field column="id" name="id" />
                <field column="title" name="title"/>
                <field column="content" name="content" />
            </entity>
        </document>
    </dataConfig>

    不当之处,敬请指正.谢谢!

  • 相关阅读:
    token原理
    1.系统代码读取配置文件
    redis hash怎么用
    那么都数据库表,那么多不同记录。是怎样都存储在一个key-value数据库的?
    jedis操作redis全指南
    redis列表list
    jedis操作
    redis
    android raw与assets资源
    Zoie Merge Policy
  • 原文地址:https://www.cnblogs.com/a198720/p/4266824.html
Copyright © 2011-2022 走看看