读取lucene索引的demo(图)

1
namespace LuceneReader
2
{
3
public partial class frmMain : Form
4
{
5
private int m_StartAt;
6
private int m_EndAt;
7
private int PAGE_LENGTH = 20;
8
9
public frmMain()
10
{
11
m_StartAt = 0;
12
13
InitializeComponent();
14
}
15
16
private void btnLoad_Click(object sender, EventArgs e)
17
{
18
RedrawListview();
19
string index = "D:\\Downloads\\aspx\\Taigle\\index";
20
IndexReader reader = IndexReader.Open(index);
21
PrintIndex(reader);
22
23
}
24
25
private void RedrawListview()
26
{
27
lstView.Items.Clear();
28
29
30
}
31
32
public void PrintIndex(IndexReader reader)
33
{
34
//System.Console.WriteLine(reader + "\tNumDocs = " + reader.NumDocs());
35
36
if (m_StartAt > reader.NumDocs())
37
m_StartAt = reader.NumDocs() - PAGE_LENGTH;
38
if (m_StartAt < 0)
39
m_StartAt = 0;
40
41
m_EndAt = m_StartAt + PAGE_LENGTH;
42
if (m_EndAt > reader.NumDocs()) m_EndAt = reader.NumDocs();
43
44
for (int i = m_StartAt; i < m_EndAt; i++)
45
{
46
String url,title,content;
47
//StringBuilder record = new StringBuilder();
48
System.Console.WriteLine(reader.Document(i));
49
Document doc = reader.Document(i);
50
url = doc.GetField("url").StringValue().ToString();
51
title = doc.GetField("title").StringValue().ToString();
52
content = doc.GetField("content").StringValue().ToString();
53
//record.Append(url+"||||||"+title+"||||||"+content);
54
55
56
// Create three items and three sets of subitems for each item.
57
ListViewItem item1 = new ListViewItem(i.ToString(), 0);
58
// Place a check mark next to the item.
59
item1.Checked = true;
60
item1.SubItems.Add(url);
61
item1.SubItems.Add(title);
62
item1.SubItems.Add(content);
63
64
65
//Add the items to the ListView.
66
lstView.Items.AddRange(new ListViewItem[] { item1 });
67
68
}
69
70
71
72
}
73
74
private void lstView_SelectedIndexChanged(object sender, EventArgs e)
75
{
76
77
78
try
79
{
80
if (this.lstView.SelectedItems.Count == 0)
81
return;
82
ListViewItem item = lstView.SelectedItems[0];
83
lblContent.Text = item.SubItems[3].Text;
84
}
85
catch (Exception)
86
{
87
88
throw;
89
}
90
}
91
92
private void btnPrevious_Click(object sender, EventArgs e)
93
{
94
m_StartAt = m_StartAt - PAGE_LENGTH;
95
btnLoad_Click(sender,e);
96
}
97
98
private void btnNext_Click(object sender, EventArgs e)
99
{
100
m_StartAt = m_StartAt + PAGE_LENGTH;
101
btnLoad_Click(sender,e);
102
}
103
}
104
}
105
namespace LuceneReader2
{3
public partial class frmMain : Form4
{5
private int m_StartAt;6
private int m_EndAt;7
private int PAGE_LENGTH = 20;8

9
public frmMain()10
{11
m_StartAt = 0;12

13
InitializeComponent();14
}15

16
private void btnLoad_Click(object sender, EventArgs e)17
{18
RedrawListview();19
string index = "D:\\Downloads\\aspx\\Taigle\\index";20
IndexReader reader = IndexReader.Open(index);21
PrintIndex(reader);22

23
}24

25
private void RedrawListview() 26
{27
lstView.Items.Clear();28
29

30
}31

32
public void PrintIndex(IndexReader reader)33
{34
//System.Console.WriteLine(reader + "\tNumDocs = " + reader.NumDocs());35

36
if (m_StartAt > reader.NumDocs())37
m_StartAt = reader.NumDocs() - PAGE_LENGTH;38
if (m_StartAt < 0)39
m_StartAt = 0;40

41
m_EndAt = m_StartAt + PAGE_LENGTH;42
if (m_EndAt > reader.NumDocs()) m_EndAt = reader.NumDocs();43
44
for (int i = m_StartAt; i < m_EndAt; i++)45
{46
String url,title,content;47
//StringBuilder record = new StringBuilder();48
System.Console.WriteLine(reader.Document(i));49
Document doc = reader.Document(i);50
url = doc.GetField("url").StringValue().ToString();51
title = doc.GetField("title").StringValue().ToString();52
content = doc.GetField("content").StringValue().ToString();53
//record.Append(url+"||||||"+title+"||||||"+content);54

55

56
// Create three items and three sets of subitems for each item.57
ListViewItem item1 = new ListViewItem(i.ToString(), 0);58
// Place a check mark next to the item.59
item1.Checked = true;60
item1.SubItems.Add(url);61
item1.SubItems.Add(title);62
item1.SubItems.Add(content);63

64

65
//Add the items to the ListView.66
lstView.Items.AddRange(new ListViewItem[] { item1 });67
68
}69
70
71
72
}73

74
private void lstView_SelectedIndexChanged(object sender, EventArgs e)75
{76
77
78
try79
{80
if (this.lstView.SelectedItems.Count == 0)81
return;82
ListViewItem item = lstView.SelectedItems[0];83
lblContent.Text = item.SubItems[3].Text;84
}85
catch (Exception)86
{87
88
throw;89
}90
}91

92
private void btnPrevious_Click(object sender, EventArgs e)93
{94
m_StartAt = m_StartAt - PAGE_LENGTH;95
btnLoad_Click(sender,e);96
}97

98
private void btnNext_Click(object sender, EventArgs e)99
{100
m_StartAt = m_StartAt + PAGE_LENGTH;101
btnLoad_Click(sender,e);102
}103
}104
}105



浙公网安备 33010602011771号