嵌入式RavenDB和索引超过5个新文档
我正在使用RavenDB嵌入式。建造888。 收集照片:嵌入式RavenDB和索引超过5个新文档,ravendb,Ravendb,我正在使用RavenDB嵌入式。建造888。 收集照片: public class Photo { private Dictionary<string, VoteDictionaryValue> _votes = new Dictionary<string, VoteDictionaryValue>(); public Photo() { Created = DateTime.Now;
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; }
}
}
公共课照片
{
专用词典_=新词典();
公众照片()
{
Created=DateTime.Now;
}
公共字符串Id{get;set;}
公共字符串标题{get;set;}
公共字符串用户标识{get;set;}
公共字符串图像{get;set;}
已创建公共日期时间{get;private set;}
公共词典投票
{
获得{返回_投票;}
受保护集{u表决=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);
}
}
公共类PhotosortByCreated:AbstractIndexCreationTask
{
公共PhotosortByCreated()
{
Map=照片=>来自照片中的照片
选择新建{photo.Created};
存储(x=>x.已创建,FieldStorage.No);
排序(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))));
RavenQueryStatistics;
var query=来自RavenSession.query()中的照片
orderby照片。按降序创建
选择照片;
var result=query.Statistics(out stat).Skip(page*pageSize).Take(pageSize).Customize(x=>x.WaitForNonStaleResults(TimeSpan.FromSeconds(3)));
逐个添加10张照片
通过这个查询,我只得到前5-6个
所有新添加的照片将不会返回
在池重新启动后,我可以在ravenDB停止索引之前添加5-6张新照片
所有添加的照片都保存在数据库中,但它们没有索引
为什么?
提前感谢。添加:
RavenSession.Query<Photo>().Customize(x=>x.WaitForNonStaleResultsAsOfNow())
RavenSession.Query().Customize(x=>x.waitForNonSalesultsAsOffow())
发生了什么事?我仍然有这个问题。并不是所有的照片都被编入索引。它们在DB中存在,但在结果中不存在。顺便说一句,仅在共享主机上复制。