【问题标题】:Embedded RavenDB and indexing more then 5 new documents嵌入式 RavenDB 和索引超过 5 个新文档
【发布时间】:2012-05-26 12:22:06
【问题描述】:

我正在使用 RavenDB Embedded。构建 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))));

一张一张地添加 10 张照片。

通过这个查询,我只得到前 5-6 个。

所有新添加的照片都不会返回。

池重启后,我可以在 ravenDB 停止索引它们之前添加 5-6 张新照片。

所有添加的照片都保存在数据库中,但它们没有被索引。

为什么?

提前致谢。

【问题讨论】:

    标签: ravendb


    【解决方案1】:

    添加:

    RavenSession.Query<Photo>().Customize(x=>x.WaitForNonStaleResultsAsOfNow())
    

    会发生什么?

    【讨论】:

    • 我还是有这个问题。并非所有照片都被编入索引。它们存在于 DB 中,但不存在于结果中。顺便说一句,仅在共享主机上复制。
    猜你喜欢
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多