读取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
posted @ 2007-08-01 11:45  Jadepark  阅读(622)  评论(1编辑  收藏  举报