首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SolR DIH文件连接

SolR DIH文件连接
EN

Stack Overflow用户
提问于 2013-07-12 13:51:48
回答 1查看 251关注 0票数 0

我希望使用SolR DataImport Handler来索引存储在数据库中的候选人以及链接到这些候选人的文件的内容。

我有一个数据库表包含候选人列表,另一个表包含链接到候选人的文件路径列表。

我需要的是:

  1. 索引候选数据-很容易.
  2. 循环遍历文件列表-我也成功地做到了.
  3. 提取文件的内容( pdf,doc,xml,html等)。-这部分完成了
  4. 将一个内容字段中所有文件的内容分组,用于索引

这就是我被困在这里的地方!我尝试了各种选项,但系统只是索引第一个文件的内容。我试过使用javascript全局变量,尽管这种工作似乎不是最好的解决方案.

下面查找我的dih.xml文件:

代码语言:javascript
复制
    <?xml version="1.0" encoding="UTF-8" ?>
    <dataConfig>
     <script><![CDATA[
      var globalContent = '';

      function processFile(row) {
        var text = row.get('text');
        if (text == null) text = '';
        else globalContent += ' ' + text;

        row.remove('text');
        row.remove('content');

        row.put('content', globalContent);
        return row;
      }
     ]]></script>

     <dataSource type="JdbcDataSource"    name="dbs" driver="com.mysql.jdbc.Driver"         url="jdbc:mysql://localhost:3306/dbname" user="login" password="password" />
     <dataSource type="BinFileDataSource" name="fds" /> 

     <document name="ListOfCandidates">
      <entity name="candidats" datasource="dbs" query="select * from candidates">
       <field column="id_candidat" name="id_candidat" />
       <field column="name"        name="lastname"    />
       <field column="first_name"  name="firstname"   />

       <entity name="ListOfFiles" 
               query="SELECT distinct cd.id_document, cd.filepath 
                  FROM candidat_document cd
                  WHERE cd.id_candidat = '${candidats.id_candidat}'">
        <entity name="file" 
                processor="TikaEntityProcessor" 
                url="/some/folder/${ListOfFiles.filepath}" 
                dataSource="fds" 
                format="text" 
                onError="skip"
                transformer="script:processFile">
          <field column="text" name="text" />
        </entity>                   
       </entity>
      </entity>
     </document>

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2013-07-14 14:43:33

对象包含通过候选人的单个条目积累的所有信息。您是否尝试过在积累文本的中填充一个特殊字段。

所以,这正是您要做的,但是要将其存储在中而不是全局变量中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17616529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档