Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可以忽略lucene文档增强吗?_Java_Search_Lucene - Fatal编程技术网

Java 可以忽略lucene文档增强吗?

Java 可以忽略lucene文档增强吗?,java,search,lucene,Java,Search,Lucene,我正在寻找一种方法,告诉lucene searcher忽略某些查询上的文档增强 在我们的搜索结果中,我们通常在索引时使用一个主要的提升因子,该因子是根据文档的年龄计算的(索引是每晚重建的) 现在,我正在寻找一种提供搜索功能的方法,它忽略了年龄,但却没有找到覆盖/忽略文档增强的方法 致以最良好的祝愿 亚历克斯,你在找一个询问者能理解的东西吗?因为这根本不可能 您正在代码的某个地方添加boost,默认情况下,它不是由Lucene完成的。您必须删除这段额外的代码,或者将其设置为可选代码,以便忽略boo

我正在寻找一种方法,告诉lucene searcher忽略某些查询上的文档增强

在我们的搜索结果中,我们通常在索引时使用一个主要的提升因子,该因子是根据文档的年龄计算的(索引是每晚重建的)

现在,我正在寻找一种提供搜索功能的方法,它忽略了年龄,但却没有找到覆盖/忽略文档增强的方法

致以最良好的祝愿


亚历克斯,你在找一个询问者能理解的东西吗?因为这根本不可能


您正在代码的某个地方添加boost,默认情况下,它不是由Lucene完成的。您必须删除这段额外的代码,或者将其设置为可选代码,以便忽略boost。

您可以将计算的分数存储在新字段中,而不是存储为boost,通过实现CustomScoreQuery+CustomScoreProvider您可以控制哪个值(默认分数或您在字段中计算的分数)返回

从第6点开始,我认为在搜索时不可能忽略提升:

范数(t,d)封装了几个(索引时间)提升和长度因子:

  • 文档增强-在添加 将文档添加到索引中
  • Field boost-在添加 字段添加到文档中
  • lengthNorm(字段)-将文档添加到 根据数据库中此字段的令牌数编制索引 文档,以便较短的字段对分数的贡献更大。 LengthNorm由索引时有效的相似类计算
将文档添加到索引时,上述所有因素都是 相乘。如果文档有多个同名字段, 它们的所有助推器都相乘:

(……)

最后,请注意,搜索时间太晚,无法修改此规范部分 评分,例如使用不同的相似性进行搜索。


也许我的问题还不够清楚:对于大多数查询,我仍然需要当前的增强功能,但我想构建一个额外的替代查询,其中省略了常规文档增强功能。这看起来是正确的方法……但我认为我必须更深入地了解这些功能的用法。通过跟踪一些API文档,我发现了一个名为“FieldScoreQuery”!感谢您指出了正确的方向。