2014-07-08 3 views
0

아래 검색어에 대한 검색어를 알고 싶습니다. 나는 아래로 MeetingEventIndex라는 인덱스를 만들었습니다 : 나는 다음과 같이 검색 쿼리를 만들려고하고RavenDB에서 검색어 :

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() 

하지만 결과가 반환되지 않습니다.

기본적으로 ((세부 필드의 텍스트 필드 searchterm) 및 meetingroomid 필드의 mrcode를 찾고 있습니다.)

도와주세요.

질문은 아마도 더 쉽게 대신 LuceneQuery로 표현된다

답변

0

:

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