gpt4 book ai didi

solr - 是否可以让 Solr 的 DataImportHadler 忽略带有空字符串的字段?

转载 作者:行者123 更新时间:2023-12-02 00:35:04 26 4
gpt4 key购买 nike

我正在使用 Solr 的 DataImportHandler 从数据库导入数据。如果该列没有值,则某些记录具有空字符串。

目前我的配置生成如下 Solr 文档:

{
"x": "value",
"y": "",
"z": 2
}

但是我想忽略所有没有值的字段,以便创建这样的文档:

{
"x": "value",
"z": 2
}

我可以在 DataImportHandler 的配置文件中定义一些东西来给我想要的结果吗?

最佳答案

Solr 鲜为人知的方面之一是您可以插入 UpdateRequestProcessor 以在 DIH 之后运行。并且,有专门针对此问题的专门 URP。

所以你可以这样做:

<updateRequestProcessorChain name="skip-empty">
<!-- Next two processors affect all fields - default configuration -->
<processor class="TrimFieldUpdateProcessorFactory" /> <!-- Get rid of leading/trailing spaces. Also empties all-spaces fields for next filter-->
<processor class="RemoveBlankFieldUpdateProcessorFactory" /> <!-- Delete fields with no content. More efficient and allows to query for presence/absence of field -->

<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

显然,请记住在 DIH 处理程序的定义中也引用此链:

<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
....
<str name="update.chain">skip-empty</str>
</lst>
</requestHandler>

您可以看到the full list of the UpdateRequestProcessorshttp://solr-start.com

关于solr - 是否可以让 Solr 的 DataImportHadler 忽略带有空字符串的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24570545/

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