gpt4 book ai didi

用于部分文档更新的 solrj api

转载 作者:行者123 更新时间:2023-12-03 10:27:26 27 4
gpt4 key购买 nike

Solr 4 测试版已经发布,GA 版本即将推出。如此处所述,部分文档更新已存在一段时间:http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/

但是,我还没有想出如何使用 solrj api 来做到这一点。

有谁知道 solrj 是否可行?或者 solrj 只是没有跟上这个功能的速度?

更新:正如我在邮件列表中所描述的(参见回复 here),我发现在 solrj api 中,SolrInputField 的值可以是一个映射 - 它不必是一个简单的标量值。
如果是映射,solrj 会额外增加一个 update字段的 xml 元素的属性。
例如,
这段代码:

SolrInputDocument doc = new SolrInputDocument();
Map<String, String> partialUpdate = new HashMap<String, String>();
partialUpdate.put("set", "foo");
doc.addField("id", "test_123");
doc.addField("description", partialUpdate);

产生这个文件:
<doc boost="1.0">
<field name="id">test_123</field>
<field name="description" update="set">foo</field>
</doc>

在这个例子中,我对这个附加属性使用了“set”这个词,但它不起作用。
Solr 没有像我预期的那样更新该字段。
根据这个链接:
http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/
有效值为“设置”和“添加”。

任何的想法?

最佳答案

事实证明,问题中上面显示的代码片段确实有效。我第一次尝试时不知道出了什么问题,也许我只是忘记提交或我的架构配置错误。

无论如何,这个问题是非常本地化的。但是,由于带有哈希映射的 api 的文档记录很差,我认为保留这个问题和答案可能是值得的。

哈希映射的键可以是三个值之一:

  • set - 设置一个字段。
  • 添加 - 添加到多值字段。
  • inc - 增加一个字段。

  • 在 solrj 单元测试中有此代码的示例,在名为 testUpdateField 的方法中。 .

    关于用于部分文档更新的 solrj api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12183798/

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