【问题标题】:Search Query in RavenDBRavenDB 中的搜索查询
【发布时间】:2014-07-08 14:55:44
【问题描述】:

我想知道以下条件的搜索查询。我创建了一个名为 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);
  }
 }

我正在尝试创建如下搜索查询“在文本或详细信息字段和 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()

但这并没有返回任何结果。

基本上我正在寻找((文本字段中的搜索项 || 详细信息字段中的搜索项)和会议室字段中的 mrcode)。

请帮忙。

【问题讨论】:

    标签: linq ravendb


    【解决方案1】:

    您的查询可能更容易表示为 LuceneQuery,而不是:

    docsession.Advanced..LuceneQuery<mngtMeetingEvent, MeetingEventIndex>()
       .OpenSubClause()
           .Search("text", search)
           .OrElse()
           .Search("details", search)
       .CloseSubClause()
       .AndAlso()
       .WhereEquals("meetingroomid", "123")
       .ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多