SearchResult

SearchResult class

검색 쿼리와 일치하는 검색 결과를 나타냅니다.

public class SearchResult : IEnumerable<FoundDocument>

속성

이름 설명
DocumentCount { get; } 찾은 문서 수를 가져옵니다.
EndTime { get; } 검색 종료 시간을 가져옵니다.
NextChunkSearchToken { get; } 다음 청크를 검색하기 위한 청크 검색 토큰을 얻습니다.
OccurrenceCount { get; } 발견된 총 발생 수를 가져옵니다.
SearchDuration { get; } 검색 기간을 가져옵니다.
StartTime { get; } 검색 시작 시간을 가져옵니다.
Truncated { get; } 결과가 잘렸음을 나타내는 값을 가져옵니다.
Warnings { get; } 결과를 설명하는 경고를 가져옵니다.

행동 양식

이름 설명
GetEnumerator() 찾은 문서 모음을 반복하는 열거자를 반환합니다.
GetFoundDocument(int) 찾은 문서를 인덱스로 가져옵니다.

비고

더 알아보기

이 예제는 클래스의 일반적인 사용법을 보여줍니다.

string indexFolder = @"c:\MyIndex\";
string documentFolder = @"c:\MyDocuments\";

// 인덱스 생성
Index index = new Index(indexFolder);

// 지정된 폴더에서 문서 인덱싱
index.Add(documentFolder);

// 검색 옵션 설정
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // 퍼지 검색 활성화
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // 최대 차이 수를 3으로 설정

// '아인슈타인'이라는 단어 또는 '상대성 이론'이라는 문구가 포함된 문서 검색
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// 결과 출력
Console.WriteLine("Documents: " + result.DocumentCount);
Console.WriteLine("Total occurrences: " + result.OccurrenceCount);
for (int i = 0; i < result.DocumentCount; i++)
{
    FoundDocument document = result.GetFoundDocument(i);
    Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
    Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
    for (int j = 0; j < document.FoundFields.Length; j++)
    {
        FoundDocumentField field = document.FoundFields[j];
        Console.WriteLine("\t\tField: " + field.FieldName);
        Console.WriteLine("\t\tOccurrences: " + document.OccurrenceCount);
        // 찾은 용어 출력
        if (field.Terms != null)
        {
            for (int k = 0; k < field.Terms.Length; k++)
            {
                Console.WriteLine("\t\t\t" + field.Terms[k].PadRight(20) + field.TermsOccurrences[k]);
            }
        }
        // 찾은 문구 출력
        if (field.TermSequences != null)
        {
            for (int k = 0; k < field.TermSequences.Length; k++)
            {
                string sequence = string.Join(" ", field.TermSequences[k]);
                Console.WriteLine("\t\t\t" + sequence.PadRight(30) + field.TermSequencesOccurrences[k]);
            }
        }
    }
}

또한보십시오