我需要一些帮助来加速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
答案 0 :(得分:0)
有几种方法可以调整在Lucene中加载STORED字段的性能。
首先,默认情况下,当您加载Document
时,它会加载FieldSelector
的每个存储字段。只存储您需要的东西,而不是系统地存储所有东西。
如果您不需要加载此特定查询的所有存储字段,请尝试编写{{1}}以进一步控制字段加载。
最后,添加“字段”,以便在文档中的其他存储字段之前更频繁地加载存储的数据。字段按顺序加载,在某些情况下,首先将它们添加到Documents可以加速一些事情。
An article that may help you with implementing a FieldSelector