0
我想根據子集合的值在RavenDB中查找一個或多個文檔。RavenDB SelectMany不支持
我有以下類
public class GoldenDocument
{
public GoldenDocument()
{
LinkedDocuments = new List<LinkedDocument>();
MergeMatchFields = new List<MergeMatchField>();
}
public string Id { get; set; }
public Guid SourceRowId { get; set; }
public List<MergeMatchField> MergeMatchFields { get; set; }
public List<LinkedDocument> LinkedDocuments { get; set; }
}
這是集MergeMatchFields
public class MergeMatchField
{
public string Id { get; set; }
public Guid OriginId { get; set; }
public string Name { get; set; }
public MatchType MatchType { get; set; }
public double MatchPerc { get; set; }
public string Value { get; set; }
}
在一個List<MergeFields> mergeFields
集合我有沒有存儲在RavenDB又值類。值進行比較,爲找到一個RavenDB文檔中的值,如果它是一個可能的匹配通過執行以下查詢:
using (var session = documentStore.OpenSession())
{
var docs = from gd in session.Query<GoldenDocument>()
from mf in gd.MergeMatchFields
from tf in mergeFields
where mf.Name == tf.Name
&& JaroWinklerCalculator.jaroWinkler(mf.Value, tf.Value) > .90d
&& !string.IsNullOrEmpty(mf.Value)
select gd;
}
我明白ravenDB不支持SelectMany()
那麼我將如何去從文檔獲取結果商店?
感謝Ayende,模糊查詢我假設你的意思是RavenDB已經構建了對JaroWinkler和/或Levenshtein或其中一種算法的支持? – jvanrhyn