Я создал простое приложение на основе RavenDB, где у меня есть 3000 документов, состоящих из 15 свойств строки и int. Одним из свойств (CType) имеет такое же значение для всех документов, и я использую это поле таким образом, чтобы загрузить все документы в массив с помощью запроса Lucene:Проблема с производительностью с RavenDB
var store = new DocumentStore { Url = "http://localhost:8080", DefaultDatabase = "GIS" };
store.Initialize();
using (var session = store.OpenSession())
{
var school = session.Advanced.LuceneQuery<School>()
.Where("CType:School") // all documents have CType = "School"
.Take(5000)
.ToArray();
Этот код работает в нем, что читает все 3000 документов в массиве, однако для завершения загрузки требуется 5 секунд или более.
Есть ли способ сделать это быстрее?
Причина для загрузки всех документов в массив заключается в том, что мне нужно искать по всем строковым свойствам каждого документа для определенных шаблонов. Первоначально я экспериментировал с запросом Lucene, чтобы выполнить поиск по шаблону, но не имел никакого успеха, чтобы это работало. Лучшая аналогия будет делать что-то похожее на синтаксис SQL LIKE. –
Это действительно неэффективно, чтобы сделать это таким образом, когда вы можете сделать этот запрос непосредственно в Lucene. Можете ли вы опубликовать вопрос о списке рассылки RavenDB http://groups.google.com/group/ravendb/, показывая проблему, с которой вы столкнулись с запросом? –
Спасибо, я соберу описание проблемы с запросом и отправлю его в список рассылки RavenDB. –