RavenDBEmbeddedを使用しています。ビルド888。写真コレクションを用意します。
public class Photo
{
private Dictionary<string, VoteDictionaryValue> _votes = new Dictionary<string, VoteDictionaryValue>();
public Photo()
{
Created = DateTime.Now;
}
public string Id { get; set; }
public string Title { get; set; }
public string UserId { get; set; }
public string Image { get; set; }
public DateTime Created { get; private set; }
public Dictionary<string, VoteDictionaryValue> Votes
{
get { return _votes; }
protected set { _votes = value; }
}
}
インデックスを持っている:
public class PhotosSortByCreated : AbstractIndexCreationTask<Photo>
{
public PhotosSortByCreated()
{
Map = photos => from photo in photos
select new {photo.Created};
Store(x => x.Created, FieldStorage.No);
Sort(x => x.Created, SortOptions.String);
}
}
とクエリ:
RavenQueryStatistics stat;
var query = from photo in RavenSession.Query<Photo>()
orderby photo.Created descending
select photo;
var result = query.Statistics(out stat).Skip(page*pageSize).Take(pageSize).Customize(x => x.WaitForNonStaleResults(TimeSpan.FromSeconds(3))));
写真を1枚ずつ10枚追加します。
このクエリでは、最初の5〜6個しか取得できません。
新しく追加されたすべての写真は返されません。
プールを再起動した後、ravenDBがインデックス作成を停止する前に、5〜6枚の新しい写真を追加できます。
追加されたすべての写真はDBに保存されますが、インデックスは作成されません。
なぜ?
前もって感謝します。