4

我在 C# 中执行 raven 查询,并同时使用 Where() 和 Search() 扩展方法。我需要这两个功能,因为我只需要返回具有特定 Guid 字段的索引和文本正文中存在的文本。不幸的是,Where 扩展方法似乎与 Search 扩展方法不兼容。当我将它们结合起来时,我会得到一个这样的 Lucene 查询:

    Query:  FeedOwner:25eb541c\-b04a\-4f08\-b468\-65714f259ac2 MessageBody:<<request*>>

这似乎完全忽略了标准的“MessageBody”部分 - 所以我在“自由文本”中使用什么约束并不重要,它不使用它。

我已经单独使用“搜索”进行了测试,并且它可以工作 - 所以它本身不是自由文本搜索的问题 - 只是将两者结合起来。

4

1 回答 1

8

感谢 Raven@GoogleGroups 上的 @Tobias 为我指明了正确的方向 - 有一个选项可以定义 Where 和 Search 子句的组合方式:

Query<T>.Search(candidate => candidate.MessageBody, queryString + "*", options: SearchOptions.And);
于 2012-08-14T22:07:22.220 回答