0

我需要一些帮助来加快 lucene.net 搜索。我们需要一个字符串中的结果 ; 作为分隔符。topdocs 的解析需要很长时间:

    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在您加载它时加载它的每个存储字段。只存储你需要的东西,不要系统地存储所有东西。

如果您不需要为此特定查询加载所有存储的字段,请尝试编写 aFieldSelector以进一步控制字段加载。

最后,在文档中的其他存储字段之前添加更频繁地加载存储数据的字段。字段是按顺序加载的,在某些情况下,首先将它们添加到 Documents 可以加快速度。

字段选择器 API 链接

一篇可以帮助您实现 FieldSelector 的文章

于 2012-10-08T20:16:15.923 回答