java - Lucene 5.5.2 中的解释

标签 java lucene

我正在 Lucene 中为查询创建自定义 Weight 类,但我必须重写返回 Explanation 对象的方法说明。我尝试创建一个,但是,唯一的构造函数是私有(private)的。我在文档中搜索,有一个静态方法可以创建一个解释,但这至少需要另一个解释。那么我如何创建一个解释?我的Lucene当前版本是5.5.2。

最佳答案

Explanation.matchExplanation.noMatch 是值得关注的正确方法。 Explanation... 参数是子 Explanation 节点。如果您的 Explanation 没有子级,则不要传递其中任何一个:

Explanation.match(floatScore, "mySimpleScore");

作为一个相对简单的实际示例,以下是 ConstantScoreWeight 构造其 Explanation 的方式,其中“boost”和“queryNorm”节点没有子节点:

return Explanation.match(
    queryWeight, getQuery().toString() + ", product of:",
    Explanation.match(boost, "boost"), Explanation.match(queryNorm, "queryNorm"));

关于java - Lucene 5.5.2 中的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39598491/

相关文章:

java - Jersey 的路径匹配 "sandbox"或空字符串

java - 哪些对象在 Java Card 中持久存在,何时存在?

java - 需要有关 elasticsearch 自动化的信息

java - 如果排序字段为 "",lucene 如何使用比较器处理排序字段

python - NLTK 和 Lucene 之间词干分析器的兼容性

search - Lucene 中的查询运行时间和索引大小

lucene - DotNetNuke Lucene 搜索在负载平衡环境中不工作 'Lock obtain timed out',如何解决?

java - 我们真的需要一个 REST Java 客户端吗?或者我们可以直接从 HTML 页面触发 REST 请求

Java 执行器 : how can I set task priority?

php - Symfony 和 Lucene