Я пытаюсь внедрить Linq To Lucene в моем проекте, но при поиске чего-либо я всегда получаю результат Enumeration yielded no results
, а когда отлаживаю и пытаюсь открыть свой [IndexContext].[TableProperty]
в окне Watch
Я получаю это сообщение:
Предикат Lucene Term не может
быть пустой строкой.
Я пытался найти это в Google, но, по-видимому, он не дал результатов!
Кто-нибудь когда-нибудь сталкивался с этим сообщением раньше? И как я могу это исправить? потому что в настоящее время он не возвращает никаких данных
[Update]
Очевидно, проблема в том, что я использую один из методов расширения (Between
, Match
, Like
и т. Д.), Которые находятся в Lucine.Linq.Extensions
. Возьмите следующий пример:
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"));
[Update]
После дальнейшего тестирования я понял, что метод расширения Match
действительно возвращает результат, тогда как другие (Search
, Like
) этого не делают. Я все еще борюсь с этой проблемой