私は変換を伴うインデックスを持っています:
docs.FeedPosts
.SelectMany(doc => (doc.Labels).DefaultIfEmpty(), (doc, docLabelsItem1) => new {AnnouncementGuid = doc.AnnouncementGuid, CreationDateUtc = doc.CreationWhenAndWhere.Time, FeedOwner = doc.FeedOwner, Key = doc.Key, Labels_Text = doc.Labels
.Select(label => label.Text), SequentialId = ((long)doc.SequentialId), SubjectGuid = doc.SubjectGuid, SubjectId = doc.SubjectId})
(変身)
results
.Select(doc => new {doc = doc, tags = Database.Load(doc.Key)})
.Select(__h__TransparentIdentifier1 => new {AnnouncementGuid = __h__TransparentIdentifier1.tags.AnnouncementGuid, AreCommentsLocked = __h__TransparentIdentifier1.tags.AreCommentsLocked, Author = __h__TransparentIdentifier1.tags.Author, Comments = __h__TransparentIdentifier1.tags.Comments, CreationWhenAndWhere = __h__TransparentIdentifier1.tags.CreationWhenAndWhere, FeedOwner = __h__TransparentIdentifier1.tags.FeedOwner, Key = __h__TransparentIdentifier1.tags.Key, Labels = __h__TransparentIdentifier1.tags.Labels, MessageBody = __h__TransparentIdentifier1.tags.MessageBody, SequentialId = __h__TransparentIdentifier1.tags.SequentialId, SubjectGuid = __h__TransparentIdentifier1.tags.SubjectGuid, SubjectId = __h__TransparentIdentifier1.tags.SubjectId})
これは、データのクエリに役立ちます。しかし、その後統計を要求すると、間違ったドキュメント数が返されます! (クエリを 0 の結果に制限し、raven 統計を要求します)。
私のドキュメントは次のようになっているようです:
{
Labels: [
{ Text: "label 1" }
{ Text: "label 2" }
]
}
Raven は、この 1 つのドキュメントに対して 2 つのインデックス エントリを生成します。Raven クエリ ツールを見ると、最初のインデックスには実際のインデックス データが含まれており、2 番目のインデックス ドキュメントは完全に空です。
ドキュメントに 3 つのラベルがある場合、3 つのインデックス結果が生成されます...そして、「カウント」は本来あるべきものの 3 倍になります。
どうしたの?
ありがとう