gpt4 book ai didi

mysql - SolR DIH 文件串联

转载 作者:行者123 更新时间:2023-11-30 01:29:42 25 4
gpt4 key购买 nike

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

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

我需要的是:

  1. 索引候选数据 - 非常简单...
  2. 循环遍历文件列表 - 我也成功做到了...
  3. 提取文件的内容(pdf、doc、xml、html 等... - 这部分已完成
  4. 将所有文件的内容分组到一个内容字段中以进行索引

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

在下文中查找我的 dih.xml 文件:

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

任何帮助将不胜感激!

最佳答案

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

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

关于mysql - SolR DIH 文件串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17616529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com