http://blog.mikemccandless.com/2012/03/new-index-statistics-in-lucene-40.html
该链接(向下一步,发现提到了长度)谈到了在索引时访问值。我希望能够在索引后这样做。该链接还谈到了将值保存为doc值,但没有给出如何这样做的示例。
如果有人能提供保存文档长度或在索引后访问文档的示例,这将非常有帮助。谢了。
文章中提到的统计数据是指FieldinVertState。一旦有了这些信息,就可以非常简单地获取所需的统计信息(只需调用getLength
、getUniquetermCount
或任何您需要的信息)。
FieldInvertState传递到Similarity
,特别是传递到调用Similarity.ComputeNorm
。范数值是在索引时计算和存储的,而不是在查询时求值,因此有效地使用它需要重新索引。
使用这种方法的典型方法是创建自定义Similary
,可能扩展DefaultSimilary
。简单地重写DefaultSimilary
的LengthNorm
方法是最简单的方法。它的标准实现是:
return (float)(1.0 / Math.sqrt(numTerms));
你可以用你喜欢的任何东西来覆盖它。
这将有助于调整基于自定义长度计算的评分。如果这不是您想要的,而是需要能够只获取信息,我认为只存储和字段,并从获取文档
时返回的字段值中获取长度将是最简单的实现。
我试图实现一个文档索引(大致对应于DB行),其中一个字段是整数。我将它们添加到索引中,比如:
我正在尝试查找不包含至少一个具有特定字段值的文档的所有文档。例如,下面是一个示例集合: 我希望找到docs块中没有包含至少一个foo=1的记录的文档的每个记录。在上面的示例中,应该只返回第二个文档。 我还查看了$nin运算符,但示例只显示数组包含基元值列表时的情况,而不是附加文档。当我尝试使用类似于下面的东西来实现这一点时,它查找的是确切的文档,而不仅仅是我想要的foo字段。 有没有用基本运算符来
如何在下面的示例中从Cloud FiRecovery查询某个日期()和某些用户()的所有时间戳?现在,我可以下载整个文档并在设备上对其进行过滤。但它无效。
在这里给ElasticSearch的初学者排名。 我有一个客户列表,他们的订单作为一个嵌套字段。假设文档结构如下: 我想查询的是:在两个日期之间订购了一定数量的用户列表。我希望能够将它与例如生日的范围查询结合起来。 我已经到了这样的地步,我可以使用聚合来获得每个订户在两个日期之间的排序总和: 但是,我想限制查询部分返回的结果,以便更好地与所有其他过滤器混合。 我的第一个想法是使用一个脚本过滤器,并
我已经实现了Serializable、实现了hashCode和equals。 我在MongoDB文档类中使用自定义键类,如下所示。 我可以使用spring data mongodb将文档保存到mongodb中。 我首先使用的标准如下。 根据上述标准,我然后执行一个update状态, 但是,我的更新失败,出现错误,
问题内容: 我有一个具有唯一的数字运行ID的文档集合,我想找到运行ID最高的文档。 我可以做两个查询。 首先,我可以找到最高的运行ID: 其次,我可以找到具有该运行ID的文档: 有没有办法我可以通过一个查询做到这一点? 问题答案: 您可以通过组合“ sort”和“ size”来实现: 这将返回最高的记录