RavenDB空间搜索 - session.Query返回session.Advanced.LuceneQuery的不同结果。
问题描述:
我对以下两个查询有点困惑。由于我的理解有限,我认为它们应该是完全相同的,但session.Advanced.LuceneQuery版本返回我期望的结果,session.Query版本返回的结果相当随机,结果肯定超过50英里给定的位置。RavenDB空间搜索 - session.Query返回session.Advanced.LuceneQuery的不同结果。
我更喜欢使用session.Query,因为我在链接多个where子句时使用它,而我无法使用LuceneQuery返回的IDocumentQuery。
我误解了两种查询类型之间的用途吗?
var query1 = session.Query<AccItem, AccItems_Spatial>()
.Customize(x => x.WithinRadiusOf(radius: 50, latitude: (double)search.Lat, longitude: (double)search.Lon));
var query2 = session.Advanced.LuceneQuery<AccItem, AccItems_Spatial>()
.WithinRadiusOf(radius: 50, latitude: (double)search.Lat, longitude: (double)search.Lon);
答
Query和LuceneQuery实际上归结为完全相同的事情发生,所以我很惊讶地听到它们之间存在差异。 您可以创建一个失败的测试并将其发送到邮件列表?
还要注意的是,你可以链多凡在LuceneQuery条款
+0
谢谢,我会看看我能否拿出一个测试。关于链接,我试图有条件地链接(即仅在指定搜索参数时才添加“where”子句),并且编译器正在抱怨将IDnumerable
可以请你包括你的'AccItems_Spatial人指数的代码? – Junto 2012-09-03 16:22:13