gpt4 book ai didi

solr - 在 Solr 更新中指定多值项频率?

转载 作者:行者123 更新时间:2023-12-05 08:00:36 26 4
gpt4 key购买 nike

我有一个包含多值字段的 Solr 模式。我在 Solr 外部解析文档并使用 http://wiki.apache.org/solr/UpdateJSON 更新索引(另请参见 http://wiki.apache.org/solr/UpdateXmlMessages)。下面是一个玩具示例,演示了我要解决的问题。

{
"add": {
"doc": {
"id": "MyDocumentID",
"user": "MyUserID",
"meals": ["pizza", "pizza", "pizza", "burger"]
}
}
}

我希望找到某种语法,允许我指示“pizza”出现了 3 次,而无需实际写出 3 次。问题是其中一些频率可能达到数千或数万。 (我正在使用存储的词频对搜索结果进行过滤和排名。)是否存在这样的语法?这是我编造的,但这里有一个想象中的例子。

{
"add": {
"doc": {
"id": "MyDocumentID",
"user": "MyUserID",
"meals": ["pizza"*3, "burger"]
}
}
}

我怀疑答案是,如果我想要这样的行为,我需要自己编写一些 Solr 代码。我希望避免这种情况,但如果是这种情况,您仍然可以通过将我指向要处理的代码的正确区域来帮助我。

这是一个相关的 Lucene 问题:Can I insert a Document into Lucene without generating a TokenStream?

最佳答案

如果您愿意解析 JSON 以创建 xml,可能有一个解决方法:

代替

 <add>
<doc>
<field name="employeeId">05991</field>
<field name="skills" update="set">Python</field>
<field name="skills" update="set">Python</field>
<field name="skills" update="set">Python</field>
<field name="skills" update="set">Java</field>
</doc>
</add>

你应该可以使用它(注意技能是一个多值字段):

<add>
<doc>
<field name="employeeId">05991</field>
<field name="skills" update="set" boost="3.0">Python</field>
<field name="skills" update="set">Java</field>
</doc>
</add>

这是来自 solr wiki .

免责声明:我既没有在一个字段中使用多个可选属性,也没有看到任何这样做的例子。

关于solr - 在 Solr 更新中指定多值项频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996604/

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