【问题标题】:RavenDB MoreLikeThis with dynamic document - example?RavenDB MoreLikeThis 与动态文档 - 示例?
【发布时间】:2017-05-09 04:08:40
【问题描述】:

根据docs,RavenDB v3.5 添加了对人工文档的“MoreLikeThis”支持,这意味着您可以使用动态文档而不是已经存储的文档进行比较。

我找不到如何做到这一点的示例。文档中的示例似乎都使用了现有的文档。

【问题讨论】:

    标签: ravendb


    【解决方案1】:

    您可以通过在此处传递人工文档的 JSON 字符串来做到这一点:

    https://github.com/ravendb/ravendb/blob/v3.5/Raven.Abstractions/Data/MoreLikeThisQuery.cs#L113

    在此处查看示例:https://github.com/ravendb/ravendb/blob/f3b5f3a186d07776bf38bf9effab4d7d75d5c647/Raven.Tests.Bundles/MoreLikeThis/MoreLikeThisShouldSupportMapReduceIndexes.cs#L100

            [Fact]
            public void CanMakeDynamicDocumentQueries()
            {
                using (var session = store.OpenSession())
                {
                    var list = session.Advanced.MoreLikeThis<IndexDocument, MapReduceIndex>(
                        new MoreLikeThisQuery
                        {
                            Document = "{ \"Text\": \"C#: The Good Good Parts\" }",
                            Fields = new[] { "Text" },
                            MinimumTermFrequency = 1,
                            MinimumDocumentFrequency = 1
                        });
    
                    Assert.Equal(2, list.Count());
                    Assert.Contains("Javascript: The Good Parts", list.First().Text);
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多