当前位置: 首页 > 知识库问答 >
问题:

Lucene评分函数-偏向较短文档

欧阳高昂
2023-03-14
    null

以下是文档

我在想--如果我不想偏向更短的文档,那么field.setomitnormals(true)足够吗?

共有1个答案

倪阳飇
2023-03-14

使用BM25相似度可以减少到0F:

@Param b控制文档长度将tf值规范化到什么程度

indexSearcher.setSimilarity(new BM25Similarity(1.2f,0f));
 类似资料:
  • 我有一个简单的需求,不确定配置solr是否容易做到这一点。 假设所有文档只有一个文本字段,没有标记化。 当查询进来时,我希望结果按匹配文本的百分比排序(包含)。百分比由计算 例如,有三个文档,文本字段如下: doc1:abcdefghij doc2:abcdefgh 3:abc 如果搜索词为“cde”,则文档1和文档2匹配(文本字段包含搜索词)。对于文件1,匹配百分比=3/10=30% 对于文件2

  • 我喜欢从Elasticsearch得到的结果,使用Edge-NGrams索引数据,并使用不同的分析器进行搜索。然而,我更希望匹配的较短术语比较长术语排名更高。 例如,以术语和为例。如果我使用术语执行查询,我会以相同的得分返回这两个文档。我希望的得分高于,因为closer与的匹配类似于Levenshtein距离算法。 设置索引: 插入文档: 搜索查询: 结果: 有谁知道我是如何将等较短的术语排在之前

  • 我刚开始使用Lucene,并试图了解如何使用Lucene实现更简单的评分函数。 对于查询,我想要一个排序,其中的排序高于和。

  • Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345'

  • Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345'

  • 我为我的文本分析项目运行lucene库(我对java相对较新)。主功能(或命令)有问题。 我使用的lucene版本是3.0.0,已经编译成JAR文件。JAR文件与主类文件Indexer.java位于同一文件夹中。 我首先运行编译代码: 它工作正常,创建了索引器。类文件位于同一目录中。 然后我运行同样的命令: 这次命令行输出说我没有主类Indexer: 我检查了原始的java代码,其中定义了main