本文介绍了在RavenDB中搜索查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想了解以下情况的搜索查询.我创建了一个名为MeetingEventIndex的索引,如下所示:
I would like to know the Search Query for the below condition. I have created an index called MeetingEventIndex as below:
public class MeetingEventIndex : AbstractIndexCreationTask<mngtMeetingEvent>
{
public MeetingEventIndex ()
{
Map = docs => from d in docs select new {d.meetingroomid, d.text, d.details};
Index(x=>x.meetingroomid, FieldIndexing.Analyzed);
Index(x=>x.text, FieldIndexing.Analyzed);
Index(x=>x.details, FieldIndexing.Analyzed);
}
}
我正在尝试创建一个如下搜索查询:"在文本或详细信息字段和Meetingroomid == 123 中搜索术语"
I am trying to create a search query as below "Search the term in text or details field and meetingroomid==123"
docsession.Query<mngtMeetingEvent, MeetingEventIndex>()
.Search(x=>x.text , search)
.Search(x=>x.details, search. options: SearchOptions.Or)
.Search(x=>x.meetingroomid, "123", option.SearchOptions.And)
.ToList()
但这不会返回任何结果.
But this is not returning any result.
基本上我正在寻找((文本字段中的搜索词||详细信息字段中的搜索词)和Meetingroomid字段中的mrcode).
Basically I am looking for ((searchterm in text field || searchterm in details field ) and mrcode in meetingroomid field).
请帮助.
推荐答案
您的查询可能更容易表示为LuceneQuery,
Your query is probably more easily expressed as LuceneQuery, instead:
docsession.Advanced..LuceneQuery<mngtMeetingEvent, MeetingEventIndex>()
.OpenSubClause()
.Search("text", search)
.OrElse()
.Search("details", search)
.CloseSubClause()
.AndAlso()
.WhereEquals("meetingroomid", "123")
.ToList();
这篇关于在RavenDB中搜索查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!