我正在 C# 中执行 raven 查询,并利用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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)