在RavenDB中搜索查询 [英] Search Query in RavenDB

查看:67
本文介绍了在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中搜索查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆