Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
如何从RavenDB中的Map/Reduce索引对数值属性执行范围查询_Ravendb - Fatal编程技术网

如何从RavenDB中的Map/Reduce索引对数值属性执行范围查询

如何从RavenDB中的Map/Reduce索引对数值属性执行范围查询,ravendb,Ravendb,我使用的是Raven build 960,我有一个Map/Reduce索引。reduce函数中的某些属性是数字,但它们存储为字符串。这是预期的行为,因为Raven当时没有类型信息。如果结果类将属性声明为相应的数值类型,则该属性将正确反序列化为相应的数值类型,如Int32。但是,它会中断范围查询,并将值作为字符串与数值进行比较 例如,其中一个属性是最初存储为十进制的权重。当执行范围查询时,例如:Weight:[3到NULL]为了检索所有权重大于3的文档,它不会返回权重为20的内容,因为按字典顺序“

我使用的是Raven build 960,我有一个Map/Reduce索引。reduce函数中的某些属性是数字,但它们存储为字符串。这是预期的行为,因为Raven当时没有类型信息。如果结果类将属性声明为相应的数值类型,则该属性将正确反序列化为相应的数值类型,如Int32。但是,它会中断范围查询,并将值作为字符串与数值进行比较

例如,其中一个属性是最初存储为十进制的权重。当执行范围查询时,例如:
Weight:[3到NULL]
为了检索所有权重大于3的文档,它不会返回权重为20的内容,因为按字典顺序“20”<“3”

在索引定义中,我已经为权重指示了
SortOptions.Float
,并且排序正确,但是范围查询仍然失败

如何对Map/Reduce索引中的数值属性执行范围查询?

Eulerfx, 我们在此描述如何将信息存储在索引中:

对于浮动,您需要向raven提供关于它的指示

Weight:[Fx3 TO NULL] 
行得通