问题标签 [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.
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 引用的内容吗?如果是这样,为什么没有提到初始目录。
基本上我不知道问题是什么,请有人帮忙。
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"/>
显然这不起作用)
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 有一个单独的原因)
为什么在增量导入获取但不处理时完整导入过程?
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。
solr - 使用 Solr 3.6 为每个实体行运行嵌套的 CachedSqlEntityProcessor?
我刚从 Solr 3.4 升级到 Solr 3.6;我data-import.xml
对两个版本都使用相同的。导入在 3.4 中正常运行。
我正在使用嵌套实体来获取与每个文档关联的作者,并且我正在使用CachedSqlEntityProcessor
它来避免不合理地访问数据库。但是,在编制索引时,Solr 编制索引的速度非常慢,并且似乎正在为每个文档获取数据库中的所有作者。指数应为~500 兆;当它达到〜6gigs时,我中止了索引。如果我注释掉author
下面的嵌套实体,Solr 将正常索引。
我错过了一些明显的东西还是这是一个错误?
solr - Solr 中有多个 data-config.xml 或不同的导入处理程序?
我需要使用 DIH 导入多个数据库和 rss 源。
是否有可能使用多个data-config.xml?或者即使只使用一个,有没有办法配置不同的导入处理程序?
谢谢。
solr - Solr CSV 导入具有非标准日期格式的字段
我正在尝试导入几个 .csv 文件,其中包含一些日期格式为“yyyyMMdd”的字段。我很快发现 DataImportHandler 并不容易支持 csv 文件。在 DataImportHandler 中,可以使用 LineEntityProcessor,然后使用 RegexTransformer,但这很麻烦。我尝试的下一个方法是将文件发布到 CSVRequestHandler,但我还没有找到一种方法来指定使用什么 SimpleDateFormat 来解析该字段。我一直在寻找解决这个问题的方法,但我认为我注定要进行预处理步骤,或者使用 RegexTransformer。任何帮助将不胜感激。
编辑:我应该补充一点,我在 Solr 3.5 上。
solr - solr dataimport 不适用于 URLdatasource
这是我的 data-config.xml
这是 schema.xml
但是当我尝试 deltaimport 时,没有添加任何文档。任何帮助将不胜感激。
solr - Solr - LukeRequestHandler - 需要索引状态
我正在尝试在我的应用程序中向管理员显示 Solr Index 的状态。该片段将包含:
- 索引最后更新日期
- 索引当前状态(空闲 | 索引 | 错误)
- 按需触发索引的按钮
注意:我正在使用 DataImportHandler 来刷新我的索引。
我正在使用 Luke 请求处理程序来获取索引的最后更新时间: http ://server.dev/solr/core/admin/luke?numTerms=0&fl=0
我可以使用 dataimporthandler 的“status”命令来获取索引状态。
我想知道是否有办法在单个请求中获取这些参数?
solr - Solr,数据库连接在索引表后仍然存在
我索引了许多用 data-config.xml 中的实体编写的表。但是在索引一个表之后,即使我设置了'holdability="CLOSE_CURSORS_AT_COMMIT"',数据库连接仍然存在。
索引表后如何删除连接?
我阅读了某人关于数据库连接的问答。有人说,db connection 还存活了 10 秒。但我在 1 小时前开始索引(数据导入),所有数据库连接保持 1 小时。