0

lucene.net の検索を高速化するには、助けが必要です。; を含む文字列の結果が必要です。セパレーターとして。トップドキュメントの解析には時間がかかります:

    Dim resultDocs As TopDocs = indexSearch.Search(query, indexReader.MaxDoc())
    Dim hits As Object = resultDocs.ScoreDocs

    Dim strGetDocIDList As String = ""

    For Each sDoc As ScoreDoc In hits
        Dim documentFromSearcher As Document = indexSearch.Doc(sDoc.Doc)
        Dim contentValue As String = documentFromSearcher.Get("id")

        strGetDocIDList = strGetDocIDList + Path.GetFileName(contentValue) + ";"

    Next

    Return strGetDocIDList

どうすればこれをスピードアップできますか?

よろしくインゴ

4

1 に答える 1

0

Lucene で STORED フィールドをロードするためのパフォーマンスを調整するには、いくつかの方法があります。

まず、デフォルトでは、ロード時に保存されているすべてのフィールドがロードされますDocument。必要なものだけを保管し、すべてを体系的に保管しないでください。

この特定のクエリで格納されているすべてのフィールドをロードする必要がない場合は、FieldSelectorフィールドのロードをさらに制御するために を記述してみてください。

最後に、ドキュメント内の他の保存されたフィールドの前に、より頻繁に保存されたデータをロードするフィールドを追加します。フィールドは順番にロードされ、場合によっては最初にドキュメントに追加すると少しスピードアップします。

FieldSelector API リンク

FieldSelector の実装に役立つ記事

于 2012-10-08T20:16:15.923 に答える