• 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>

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

  • 相关阅读:
    Ubuntu下SVN命令行递归加入文件夹文件(免去一个一个的加入 --force)
    oschina插件和扩展
    oschina iOS代码库
    oschina 开发工具
    oschina应用工具
    oschina程序开发
    网络爬虫 kamike.collect
    WebFetch 是无依赖极简网页爬取组件
    commoncrawl 源码库是用于 Hadoop 的自定义 InputFormat 配送实现
    JAVA平台上的网络爬虫脚本语言 CrawlScript
  • 原文地址:https://www.cnblogs.com/a198720/p/4266824.html
Copyright © 2020-2023  润新知