【发布时间】:2009-10-18 19:02:25
【问题描述】:
我正在尝试在我的项目中实现 Linq To Lucene,但是在尝试搜索某些内容时,我总是得到 Enumeration yielded no results 结果,当我调试并尝试在 Watch 窗口中打开我的 [IndexContext].[TableProperty] 时,我收到这条消息:
Lucene Term 的谓词不能 是空字符串。
我已尝试在 Google 中搜索此内容,但显然它没有返回任何结果!
以前有人遇到过这个消息吗?我该如何解决?因为目前它没有返回任何数据
[更新]
显然问题出在我使用Lucine.Linq.Extensions 中的一种扩展方法(Between、Match、Like 等...)时。举个例子:
var db = new MusicRepo_DB_IndexContext(@"C:\MusicRepoDB_index",
new MusicRepo_DBDataContext());
以下查询返回结果:db.Artists.Where(a => a.Name == "Camel");
但这个没有:db.Artists.Where(a => a.Search("Camel"));
[更新]
经过进一步测试,我意识到Match 扩展方法确实返回了结果,而其他方法(Search、Like)则没有。我还在为这个问题苦苦挣扎
【问题讨论】:
标签: c# linq-to-sql lucene lucene.net linq-to-lucene