Java 可以忽略lucene文档增强吗?
我正在寻找一种方法,告诉lucene searcher忽略某些查询上的文档增强 在我们的搜索结果中,我们通常在索引时使用一个主要的提升因子,该因子是根据文档的年龄计算的(索引是每晚重建的) 现在,我正在寻找一种提供搜索功能的方法,它忽略了年龄,但却没有找到覆盖/忽略文档增强的方法 致以最良好的祝愿Java 可以忽略lucene文档增强吗?,java,search,lucene,Java,Search,Lucene,我正在寻找一种方法,告诉lucene searcher忽略某些查询上的文档增强 在我们的搜索结果中,我们通常在索引时使用一个主要的提升因子,该因子是根据文档的年龄计算的(索引是每晚重建的) 现在,我正在寻找一种提供搜索功能的方法,它忽略了年龄,但却没有找到覆盖/忽略文档增强的方法 致以最良好的祝愿 亚历克斯,你在找一个询问者能理解的东西吗?因为这根本不可能 您正在代码的某个地方添加boost,默认情况下,它不是由Lucene完成的。您必须删除这段额外的代码,或者将其设置为可选代码,以便忽略boo
亚历克斯,你在找一个询问者能理解的东西吗?因为这根本不可能
您正在代码的某个地方添加boost,默认情况下,它不是由Lucene完成的。您必须删除这段额外的代码,或者将其设置为可选代码,以便忽略boost。您可以将计算的分数存储在新字段中,而不是存储为boost,通过实现CustomScoreQuery+CustomScoreProvider您可以控制哪个值(默认分数或您在字段中计算的分数)返回 从第6点开始,我认为在搜索时不可能忽略提升: 范数(t,d)封装了几个(索引时间)提升和长度因子:
- 文档增强-在添加 将文档添加到索引中
- Field boost-在添加 字段添加到文档中
- lengthNorm(字段)-将文档添加到 根据数据库中此字段的令牌数编制索引 文档,以便较短的字段对分数的贡献更大。 LengthNorm由索引时有效的相似类计算
也许我的问题还不够清楚:对于大多数查询,我仍然需要当前的增强功能,但我想构建一个额外的替代查询,其中省略了常规文档增强功能。这看起来是正确的方法……但我认为我必须更深入地了解这些功能的用法。通过跟踪一些API文档,我发现了一个名为“FieldScoreQuery”!感谢您指出了正确的方向。