Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Neo4j 是否可以将Lucene得分设置为0到1之间的数字?_Neo4j_Lucene - Fatal编程技术网

Neo4j 是否可以将Lucene得分设置为0到1之间的数字?

Neo4j 是否可以将Lucene得分设置为0到1之间的数字?,neo4j,lucene,Neo4j,Lucene,似乎该数字可以远远高于或低于1,而不是在0-1的范围内。Neo4j正在使用Lucene全文搜索,分数不在0-1之间。这在Lucene中是预期的吗?我相信Lucene的默认开箱即用评分确实在0到1之间,但是一旦涉及到提升或其他自定义评分,那么评分值可以是任何适合浮动的正值 但是,通过将每个命中的分数除以查询中任何命中的最大分数,您可以轻松地将分数标准化为0到1的范围。Related:.RonC,用于将其转换为0到1的范围(0,1]在上面的示例中,它并没有真正说明查询与文档的相关性或相似性。最大浮动

似乎该数字可以远远高于或低于1,而不是在0-1的范围内。Neo4j正在使用Lucene全文搜索,分数不在0-1之间。这在Lucene中是预期的吗?

我相信Lucene的默认开箱即用评分确实在0到1之间,但是一旦涉及到提升或其他自定义评分,那么评分值可以是任何适合浮动的正值


但是,通过将每个命中的分数除以查询中任何命中的最大分数,您可以轻松地将分数标准化为0到1的范围。

Related:.RonC,用于将其转换为0到1的范围(0,1]在上面的示例中,它并没有真正说明查询与文档的相关性或相似性。最大浮动始终为1,即使排名靠前的文档与查询有点相似。我希望浮动能够真正表明查询与文档的相似性。如果查询为“ab”,排名靠前的文档为“AXXXYB”,则它们的“相似性”很小分数应该是0.02,如果排名靠前的文档是“abc”或“cab”,那么分数可能会高达0.9。这样,浮动真的让人感觉到了相似性。我明白了。你真正想要的是让Lucene给文档打分的绝对范围是0到1,其中0是“根本不匹配”,1是“完美匹配”。我想你需要创建你自己的自定义评分来做到这一点,你必须定义什么是“完美匹配”“evens的意思是。假设一个文档包含搜索短语一次,另一个文档包含搜索短语3次,而另一个文档包含搜索短语5次。每个文档应该得到多少分数?即使包含搜索短语5次,在绝对量表上也不能是1,因为某些文档理论上可以包含更多次。