2

我还是 solr 的新手(我觉得问简单的问题很傻,脸红),但是下面这两种方法有什么区别?我应该使用哪一个?如果我将文档中所有字段的 boost 值设置为 1.0f 会怎样?

  1. 添加没有提升的字段

    public void addField(String name, Object value) 添加一个带有隐含空值的字段用于提升。

  2. 添加具有提升值的字段

    public void addField(String name, Object value, float boost) 添加具有给定名称、值和提升的字段。如果同名字段已存在,则将其更新为新值并提升。

非常感谢你的帮助 :-)

4

1 回答 1

3

您应该阅读 Solr 的 wiki(或我的书,第 5 章),了解什么是“提升”或什么是“提升”。简而言之,索引时间提升提供了增加通过与指定字段匹配的查询匹配的文档分数的机会。它是一个乘数,因此默认值为 1.0。大多数应用程序应该避免索引时间提升以实现更灵活的查询时间提升。例如,使用 dismax 解析器的“qf”参数。

于 2012-06-26T04:22:35.393 回答