RavenDB中的短路评估

时间:2014-01-17 12:50:02

标签: c# full-text-search ravendb

ravenDB会自动短路查询吗? 如果没有,有办法实现这一目标。

示例: 我使用全文搜索在我的数据库中搜索。但是这个搜索还有其他应该满足特定值的字段。那么在进行昂贵的全文搜索之前,我将如何优先考虑其他字段。

Atm我的查询看起来像这样:

condition1 AND condition2 AND FTS

我在.Net 4.5框架上使用Raven嵌入式客户端

1 个答案:

答案 0 :(得分:2)

没有。 Lucene,引擎盖下的索引实现,有时会尽最大努力重新安排您的查询。但是没有可用的短路行为,也没办法实现这一点。

您认为全文搜索“昂贵”是错误的。由于要枚举的大型术语列表或加载位置数据的要求,短语搜索,有时候通配符/前缀查询的执行可能要贵一些,但RavenDB中的所有查询实际上都是Lucene查询,因​​此condition1和您查询中的FTS几乎相同。

HTH