我在RavenDB中收集了文档消息。 定义:
class Message
{
string Content;
Tag[] Tags;
}
class Tag
{
string Value;
}
我有索引:
from doc in docs.Messages
from docTagsItem in (IEnumerable<dynamic>)doc.Tags
select new { Content = doc.Content, TagsValue = docTagsItem.Value }
这里我们有一个名为TagsValue的字段,它不是Message类的一部分,这就是我无法使用的原因
Session.Query<Message>(indexName).Where(m=>m.TagsValue==tagValue)
如何通过TagValue从.NET查询此索引?我应该使用Advanced.LuceneQuery吗?
答案 0 :(得分:2)
因为你使用Linq,你需要创建一个具有该属性的类型来查询它,或者你可以使用Lucene API。
请注意,实际上您不需要使用静态索引进行查询,只需使用动态索引和纯linq即可。