get all documents in the index using Lucence

IndexReader r = IndexReader.Open(path-to-index-folder);
DataTable dt = new DataTable();
dt.Columns.Add(IndexedFields.ID, typeof(string));
int num = r.NumDocs();
for (int i = 0; i < num; i++)
{
if (!r.IsDeleted(i))
{
Document d = r.Document(i);
DataRow row = dt.NewRow();
row[IndexedFields.ID] = d.Get(IndexedFields.ID);
dt.Rows.Add(row);
}
}
r.Close();

foreach (DataRow dr in dt.Rows)
{
string id = dr["ID"].ToString();
//do what you want
}

Để lại hồi âm