문제

2011-03-08 4 views
0

I 인덱스 같은 부울 필드이 다른 인덱스 필드가 아닌 부울 사람을 위해 잘 작동문제

public IList<MappedSequence> Query(string term, out int total, int page, int pageSize) 
{ 
    if (term.ToString().Equals("") == false) 
    { 
    var parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, new[] { "Query" }, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29)); 
    Query query = parser.Parse(term); 

    IFullTextSession session = Search.CreateFullTextSession(this.Session); 
    IQuery fullTextQuery = session.CreateFullTextQuery(query, new[] { typeof(MappedSequence) }); 
    total = fullTextQuery.List<MappedSequence>().Count(); 
    return fullTextQuery.List<MappedSequence>().Skip((page - 1) * pageSize).Take(pageSize).ToList<MappedSequence>(); 
    } 
    else 
    { 
    total = 0; 
    return null; 
    } 
} 

. 나는 일종의 모든 것을 시도했다 :

"P:\"TRUE\"" 
"P:\"1\"" 

성공하지 못했다. 어떤 아이디어가 잘못 될 수 있습니까?

현재 전체를 결정하는 데 더 효율적인 방법이 있습니까?

감사합니다.

기독교

답변

1

색인 생성을 위해 토큰 화를 사용하면 나타납니다. 기독교

0

나는 동일한 문제가 있었지만, Lucene.Net 3.0에서 구문을 "NOT_ANALYZED"반대

doc.Add(new Field("IsPrivate", objectName.IsPrivate.ToString(), Field.Store.YES, Field.Index.ANALYZED)); 

"분석"입니다 :

doc.Add(new Field("IsPrivate", objectName.IsPrivate.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));