问题标签 [dataimporthandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
13957 浏览

mysql - 如何使用 Solr 数据导入处理程序来索引 MySQL 表?

当我尝试通过在浏览器中加载来导入 mysql 表时:

我收到此错误:

我正在按照官方 Solr wiki 中的本教程开始使用 DIH:

http://wiki.apache.org/solr/DIHQuickStart

根据教程,我将此添加到我的 solrconfig.xml 中:

在 data-config.xml 我有以下内容:

这些是我的 schema.xml 中定义的字段:

那么我做错了什么?我想它可能与 data-config.xml 文件有关。在其中,我不知道是否假设了 MySQL 驱动程序的某个路径。我从这里下载了 MySQL JDBC 驱动程序:

http://dev.mysql.com/downloads/connector/j/3.1.html

并将其放在我的/solr/lib目录中。

当我下载驱动程序并解压它时,在一个名为“mysql-connector-java-3.0.17-ga”的文件夹中有一堆文件夹。

我确实注意到里面有一个名为:的目录com,在里面mysql和里面,jbdc里面有一个名为Driver.class.

这是从 data-config.xml 引用的内容吗?如果是这样,为什么没有提到初始目录。

基本上我不知道问题是什么,请有人帮忙。

0 投票
1 回答
1917 浏览

solr - 如何使用 DataImportHandler 生成 Id?

我是 Solr 的新手,我正在努力导入一些不包含 ID 字段的 XML 数据,尽管它说我的 schema.xml 是必需的:

一个 XML 示例:

架构.xml:

此时,我需要从 http fetch 中导入这个 xml,然后我使用 DataimportHandler。这是我的 data-config.xml

然后,它似乎工作正常,但我收到以下错误:org.apache.solr.common.SolrException: [doc=null] missing required field: id

这让我认为我应该在导入时生成一个自动 ID,并使用 data-config.xml,但我不知道如何去做。

我应该怎么做?使用 ScriptTransformer?任何想法不胜感激

还有一个问题:我可以在导入期间强制一个值吗?

例如:(<field column="site" value="estacions"/>显然这不起作用)

0 投票
4 回答
4853 浏览

mysql - solr delta import “获取”但不“处理”

当我运行 /solr/dataimport?command=full-import 时,它会处理所有文档。但是,当我运行增量导入 (/solr/dataimport?command=delta-import) 时,它会正确识别更新的数据(返回“ <str name="Total Rows Fetched">1</str>”)但不处理任何数据(返回“ <str name="Total Changed Documents">0</str>”)

我的 data-config.xml 看起来像这样:

(注意 - 我的 concat 有一个单独的原因)

为什么在增量导入获取但不处理时完整导入过程?

0 投票
1 回答
388 浏览

solr - 为什么实体有时需要“url”参数,有时不需要?

我正在尝试设置 DataImportHandler 并在尝试进行完全导入时收到此错误:

严重:完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:SolrEntityProcessor:需要参数“url”处理文档#1

我在 solr 附带的示例 data-config.xml 中看到,有时 Entity 有 url 参数,有时没有。如果需要,为什么某些示例没有它?

它在寻找什么 URL?

文档实际上没有将“url”显示为 SqlEntityProcessor 的必需参数

对于 SqlEntityProcessor,实体属性为:
query(必需):用于查询 db 的 sql 字符串
deltaQuery:仅用于 delta-import
parentDeltaQuery:仅用于 delta-import
deletedPkQuery:仅用于 delta-import
deltaImportQuery:(仅使用在增量导入中)。如果不存在,DIH 会尝试通过(在识别增量之后)修改“查询”来构造导入查询(这很容易出错)。有一个命名空间 ${dataimporter.delta.} 可以在这个查询中使用。例如:从 tbl 中选择 *,其中 id=${dataimporter.delta.id} Solr1.4。

0 投票
0 回答
722 浏览

solr - 使用 Solr 3.6 为每个实体行运行嵌套的 CachedSqlEntityProcessor?

我刚从 Solr 3.4 升级到 Solr 3.6;我data-import.xml对两个版本都使用相同的。导入在 3.4 中正常运行。

我正在使用嵌套实体来获取与每个文档关联的作者,并且我正在使用CachedSqlEntityProcessor它来避免不合理地访问数据库。但是,在编制索引时,Solr 编制索引的速度非常慢,并且似乎正在为每个文档获取数据库中的所有作者。指数应为~500 兆;当它达到〜6gigs时,我中止了索引。如果我注释掉author下面的嵌套实体,Solr 将正常索引。

我错过了一些明显的东西还是这是一个错误?

0 投票
1 回答
1743 浏览

solr - Solr 中有多个 data-config.xml 或不同的导入处理程序?

我需要使用 DIH 导入多个数据库和 rss 源。

是否有可能使用多个data-config.xml?或者即使只使用一个,有没有办法配置不同的导入处理程序?

谢谢。

0 投票
2 回答
1011 浏览

solr - Solr CSV 导入具有非标准日期格式的字段

我正在尝试导入几个 .csv 文件,其中包含一些日期格式为“yyyyMMdd”的字段。我很快发现 DataImportHandler 并不容易支持 csv 文件。在 DataImportHandler 中,可以使用 LineEntityProcessor,然后使用 RegexTransformer,但这很麻烦。我尝试的下一个方法是将文件发布到 CSVRequestHandler,但我还没有找到一种方法来指定使用什么 SimpleDateFormat 来解析该字段。我一直在寻找解决这个问题的方法,但我认为我注定要进行预处理步骤,或者使用 RegexTransformer。任何帮助将不胜感激。

编辑:我应该补充一点,我在 Solr 3.5 上。

0 投票
1 回答
882 浏览

solr - solr dataimport 不适用于 URLdatasource

这是我的 data-config.xml

这是 schema.xml

但是当我尝试 deltaimport 时,没有添加任何文档。任何帮助将不胜感激。

0 投票
1 回答
1150 浏览

solr - Solr - LukeRequestHandler - 需要索引状态

我正在尝试在我的应用程序中向管理员显示 Solr Index 的状态。该片段将包含:

  • 索引最后更新日期
  • 索引当前状态(空闲 | 索引 | 错误)
  • 按需触发索引的按钮

注意:我正在使用 DataImportHandler 来刷新我的索引。

我正在使用 Luke 请求处理程序来获取索引的最后更新时间: http ://server.dev/solr/core/admin/luke?numTerms=0&fl=0

我可以使用 dataimporthandler 的“status”命令来获取索引状态。

我想知道是否有办法在单个请求中获取这些参数?

0 投票
1 回答
601 浏览

solr - Solr,数据库连接在索引表后仍然存在

我索引了许多用 data-config.xml 中的实体编写的表。但是在索引一个表之后,即使我设置了'holdability="CLOSE_CURSORS_AT_COMMIT"',数据库连接仍然存在。

索引表后如何删除连接?

我阅读了某人关于数据库连接的问答。有人说,db connection 还存活了 10 秒。但我在 1 小时前开始索引(数据导入),所有数据库连接保持 1 小时。