2009-05-22 2 views
2

내 문서의 여러 입력란을 검색하려면 Lucene.Net'sMultiFieldQueryParser을 사용하고 있습니다. 텍스트가있는 필드를 찾고 싶습니다. 예를 들어, 내 검색은 다음과 같습니다MultiFieldQueryParser를 사용할 때 Lucene에 내 검색 텍스트가있는 필드는 무엇입니까?

var parser = new MultiFieldQueryParser(new string[] {"question","answer"}, analyzer); 
var query = parser.Parse(searchphrase); 

for(int idx=0; idx<hits.Length() ++idx) 
{ 
    var doc = hits.Doc(i); 
    // was this hit found in "answer" or "question"?? 
} 

내가 searchphrase대답 또는 질문 필드

답변

3

저장하는 것입니다 말할 수있는 유일한 방법에서 발견되었는지 여부를 결정하려면 각 히트에 대해 필드를 검색하고 일치하는 항목을 직접 조사합니다.

검색 문구의 일부 조건이 질문에서 발견되고 나머지는 답안에서 발생할 수 있습니다. 질문과 답변을 함께 검색하면 어떤 질문인지 쉽게 판별 할 수 없습니다.

1

디버깅을 위해 Lucene의 explain() 메서드를 사용할 수 있습니다.이 메서드는 일치를 안내합니다. 검색 자체만큼 비용이 많이 들기 때문에 제작에 그리 좋지 않습니다. 다른 정보를 얻으려면 Debugging Relevance Issues in Search by Grant Ingersoll을 참조하십시오.

관련 문제