2012-03-03 61 views
1

我知道solr使用float的规范化来节省内存,并通过将它们映射到2字节表示来加速计算。 所以我的问题 - 是否可以使用任何浮点数来提高我的查询条件(即a^0.00001 +b^0.11111)或者我应该对它们进行nomolize它们不会失去solr/lucene计算的精度?说使它们之间1〜1000,使它们的2在solr/lucene查询中是否存在提升因子范围的规则?

回答

1

功率虽然索引时提升被压缩并计算分数时(例如,参见In Lucene, why do my boosted and unboosted documents get the same score?)可能会导致重要的精度损失,这是不适合的情况下查询时间提升。

查询时间提升是Java floats,并使用Java算术运算符参与评分。当然可以有浮点运算的accuracy problems,但这样做很可能不会影响评分,因为文档在结果集中以不相关的顺序出现。