我想了解以下条件的搜索查询。我创建了一个名为MeetingEventIndex的索引,如下所示:
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);
}
}
我正在尝试创建一个搜索查询,如下所示“在文字或详细信息字段中搜索字词,会议室ID == 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()
但这并没有返回任何结果。
基本上我正在寻找((在文本字段中搜索项目||详细信息字段中的searchterm)和会议室文件字段中的mrcode。
请帮忙。
答案 0 :(得分:0)
您的查询可能更容易表达为LuceneQuery,而不是:
docsession.Advanced..LuceneQuery<mngtMeetingEvent, MeetingEventIndex>()
.OpenSubClause()
.Search("text", search)
.OrElse()
.Search("details", search)
.CloseSubClause()
.AndAlso()
.WhereEquals("meetingroomid", "123")
.ToList();