我正在C#中执行raven查询,并使用Where()和Search()扩展方法. 我需要这两个功能,因为我只需要返回具有特定Guid字段的索引,以及存在于文本正文中的文本. 不幸的是,Where扩展方法似乎与Search扩
我需要这两个功能,因为我只需要返回具有特定Guid字段的索引,以及存在于文本正文中的文本.
不幸的是,Where扩展方法似乎与Search扩展方法不兼容.当我组合它们时,我得到一个像这样的Lucene查询:
Query: FeedOwner:25eb541c\-b04a\-4f08\-b468\-65714f259ac2 MessageBody:<<request*>>
这似乎完全忽略了标准的’MessageBody’部分 – 所以我在’自由文本’中使用的约束并不重要,它不使用它.
我已经单独使用’搜索’进行了测试,并且它可以工作 – 所以它本身就是自由文本搜索的问题 – 只需将两者结合起来.
感谢Raven @ GoogleGroups上的@Tobias指出了我正确的方向 – 有一个选项可以定义Where和Search子句的组合方式:Query<T>.Search(candidate => candidate.MessageBody, queryString + "*", options: SearchOptions.And);