Lucene.net结果为字符串/解析缓慢

时间:2012-10-08 14:05:41

标签: vb.net lucene.net

我需要一些帮助来加速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

我们如何加快速度?

此致 INGO

1 个答案:

答案 0 :(得分:0)

有几种方法可以调整在Lucene中加载STORED字段的性能。

首先,默认情况下,当您加载Document时,它会加载FieldSelector的每个存储字段。只存储您需要的东西,而不是系统地存储所有东西。

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

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

FieldSelector API link

An article that may help you with implementing a FieldSelector