2015-11-19 3 views
0

Я использую ниже код для него, но он дает так много файлов, и мне нужен только один файл в формате xml, поэтому pls дают мне правильный способ создания индекса lucene в xml.Как создать индекс lucene только в одном читаемом формате xml

Dim BibliDS As New DataSet 
Dim DataDS As New DataSet 
Dim dt As DataTable 

Dim strTagSbFld As String 
strTagSbFld = GetTagSbFldSQL() 

conn.Open() 
Dim strSQL As String = (strTagSbFld) 
adap.SelectCommand = New SqlCommand(strSQL, conn) 
adap.Fill(DataDS) 
conn.Close() 
DataDS.WriteXml("C:\Users\Shahrukh\Documents\Visual Studio 2012\Projects\Simple search1\Simple search1\New folder\Data.xml") 
'MsgBox("XML Done") 
Dim directory As Directory = FSDirectory.GetDirectory("C:\Users\Shahrukh\Documents\Visual Studio 2012\Projects\Simple search1\Simple search1\New folder ") 

Dim analyzer As Lucene.Net.Analysis.Analyzer = New SimpleAnalyzer() 
Dim indexWriter As New IndexWriter(directory, analyzer) 
indexWriter.SetRAMBufferSizeMB(10.0) 
indexWriter.SetUseCompoundFile(False) 
indexWriter.SetMaxMergeDocs(10000) 
indexWriter.SetMergeFactor(100) 

dt = DataDS.Tables(0) 
If dt IsNot Nothing Then 
If dt.Rows.Count > 0 Then 
For Each dr As DataRow In dt.Rows 
'Create the Document object 
Dim doc As New Document() 
For Each dc As DataColumn In dt.Columns 
'Populate the document with the column name and value from our query 
doc.Add(New Field(dc.ColumnName, dr(dc.ColumnName).ToString(), Field.Store.YES, Field.Index.TOKENIZED)) 
Next 
' Write the Document to the catalog 
indexWriter.AddDocument(doc) 
Next 
End If 
Else 
MsgBox("No Data") 
End If 
'indexWriter.Optimize() 
'Close the writer 
indexWriter.Flush() 
indexWriter.Close() 

End Sub 

pls дают мне правильный способ создания индекса lucene только в одном файле в формате xml.

ответ

1

Короткий ответ: вы не можете.

Зачем вам это делать? Производительность будет ужасно.

Чтобы получить представление о различных файлах, созданных lucene, просмотрите Index File Formats.

+1

Согласен: просто не делайте этого. Часть причин, по которым lucene настолько быстр, объясняется его файловыми форматами. Вам нужно меньше файлов, перед «закрытием» сделать «Оптимизировать()». Это объединит индекс в один «сегмент». Там будет еще несколько других файлов, но только несколько – AndyPook

Смежные вопросы