xml - 使用数据导入处理程序将数据上传到 Solr
问题描述
嗨,我正在努力使用数据导入处理程序将我的数据上传到 solr。我正在做的是使用服务器文件夹中的命令启动 solr 服务器
solr start
然后,这允许我在我的计算机上打开一个本地主机,其中显示了我之前设置的核心。
然后我编辑了文件 solrconfig.xml 和 schema.xml
在 solrconfig.xml 中,我将以下代码行放入
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*.jar" />
<schemaFactory class="ClassicIndexSchemaFactory"/>
和
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler" startup="lazy">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
在 schema.xml (从托管模式文件重命名)我添加
<field name="_version_" type="plong" indexed="true" stored="true"/>
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="title" type="string" indexed="true" stored="true"/>
<field name="revision" type="pint" indexed="true" stored="false"/>
<field name="user" type="string" indexed="true" stored="false"/>
<field name="userId" type="pint" indexed="true" stored="false"/>
<field name="text" type="text_en" indexed="true" stored="false"/>
<uniqueKey>id</uniqueKey>
然后我使用以下代码创建了一个 data-config.xml 文件
<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8"/>
<document>
<entity name="page"
processor="XPathEntityProcessor"
stream="true"
forEach="/mediawiki/page"
url="/Volumes/BACKUP/enwiki-latest-pages-articles.xml"
transformer="RegexTransformer,DateFormatTransformer"
>
<field column="id" xpath="/mediawiki/page/id" />
<field column="title" xpath="/mediawiki/page/title" />
<field column="revision" xpath="/mediawiki/page/revision/id" />
<field column="user" xpath="/mediawiki/page/revision/contributor/username" />
<field column="userId" xpath="/mediawiki/page/revision/contributor/id" />
<field column="text" xpath="/mediawiki/page/revision/text" />
<field column="timestamp" xpath="/mediawiki/page/revision/timestamp" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
<field column="$skipDoc" regex="^#REDIRECT .*" replaceWith="true" souceColName="text"/>
</entity>
</document>
在这里,我希望索引的 xml 存储在我计算机的外部硬盘驱动器上。一切似乎都运行良好,直到我在浏览器中输入以下内容
http://localhost:8983/solr/wiki/dataimport?command=full-import
并显示以下内容
有谁知道如何解决这一问题?我正在使用 solr 7.7,Stackoverflow 上的所有问题似乎都是针对早期版本的。我要遵循的教程是https://www.youtube.com/watch?v=2VkFQTqrRYo&t=310s,它很旧,所以我认为这就是我收到此错误的原因。
解决方案
原来我需要做的就是改变 solrconfig.xml :
<updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:false}"
(假而不是真)
推荐阅读
- php - 需要脚本来访问具有 1 个公共字段的多个表,所有其他字段具有不同的名称,并且每个表的字段数不同
- ios - SwiftUIpresentationMode:检查视图是否由工作表呈现
- mongodb - 如何解释 mongo 解释和改进地理空间查询的结果?
- php - 如何禁用 WordPress 的小部件块编辑器?
- griddb - 如何修复 GridDB 中的删除行问题
- python - 检测图像 Python 的像素化组件
- javascript - 在反应中动态地在包组件中添加html元素
- python - 神经网络中的预测极限或区间
- ios - 我想在我的小部件(IOS)中显示数组的元素
- c++ - 此 C++ 示例代码是否包含数据竞赛?