读取lucene索引的demo(图)
1namespace 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
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