我創建了一個簡單的基於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'語法的東西。 – 2011-12-20 16:44:04
當你可以直接在Lucene中完成這種查詢時,這樣做效率很低。您能否在RavenDB郵件列表http://groups.google.com/group/ravendb/上發佈問題,顯示您在查詢時遇到的問題? – 2011-12-20 18:05:04
謝謝,我將把我的查詢問題的描述放在一起,並將其發佈到RavenDB郵件列表。 – 2011-12-20 22:39:00