<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    何以解憂?唯有Java

    其實程序員也懂得浪漫!
    posts - 90, comments - 637, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    使用Lucene 對JTable進行搜索

    Posted on 2009-10-19 15:52 guanminglin@gmail.com 閱讀(29231) 評論(11)  編輯  收藏 所屬分類: JavaSENetBeans

         經常會遇到一個表格中有許多的數據,想要找到一條符合自己要求的數據會比較麻煩,需要一條一條的找。數據量小還好,但是如果有幾百條上千條的數據找起來就比較麻煩了。Lucene 提供了一個拓展包 lucene-swing,可以很方便的對JTable進行搜索。

    下面介紹一下拓展包,以及如何使用這個拓展包:

     Lucene-swing 并不在Lucene的核心包中而是以拓展包的形式存在,所以你可以在下載的Lucene包中找到它。請看下面的截圖:

    在這個包中提供了兩種搜索形式:TableSearcher ListSearcher

    顧名思義 就是提供對JTable JList 進行搜索的功能。

    一、表格搜索功能

    1org.appche.lucene.swing.models.TableSearcher

    要想對表格進行搜索,先要對表格的模型進行包裝,在SwingMVC模型中model中存在數據,操作表格中的數據基本上都是操作Model中的數據。Lucene -swing對表格模型進行了包裝,所以可以很好的對JTable進行搜索。

    一般使用Lucene-swing的步驟是:


    JTable table = new Jtable(); //先建立一個表格對象

    MytableModel model 
    = new MytableModel(); //再新建一個表格模型

    //下面就是包裝原有的表格模型了

    //其實TableSearcher 也是一個表格模型,只是對原有的表格模型進行了包裝

    TableSearcher searcher 
    = new TableSearcher(model);

    table.setModel(searcher);

    接著就可以在的搜索按鈕或者JTextField的鍵盤監聽事件中調用搜索方法了
    searcher.search(keywords)

    一般情況下都會將這個方法封裝:

    public void tableSearch() {

    String keywords 
    = keyWordTF.getText().toLowerCase();

    searcher.search(keywords); 
    //搜索表格并返回結果

    }

    下面是我寫的一個例子的截圖:

    初始化界面:

     

    搜索結果界面:

     


    如果你細心的話,你會發現上面的搜索都是英文的,那它能搜索中文嗎?答案是肯定的,不過你要提供中文分詞器。在TableSearcher 類中提供了一個設置分詞器的方法:

     


     

    中文分詞器,我這里使用的是JE 分詞,jeasy.analysis.MMAnalyzer

    所以你可以這樣調用:searcher.setAnalyzer(new MMMnalyzer());


    接下來就來檢驗一下是否可以對中文進行搜索了。

    現改變一些模型數據,改完后的界面:


    可以看到有兩條有中文的數據,現在看看效果如何:



    可以看到已經可以搜索中文了。


     


    評論

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-19 17:49 by 凡客誠品網
    受教了~謝謝樓主

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2009-10-19 18:22 by 小毅
    其實實質就是利用tablemodel動態改變JTABLE的內容

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-20 03:17 by 美容
    使用Lucene good

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-22 11:17 by zhonghuazc
    還正想自己整一個全文索引的工具呢,沒有想到lucene有了,爽

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2009-10-26 10:36 by sky
    非常好,謝謝!

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-12-25 21:39 by java_love
    樓主可以將這個例子的詳細發一下么?我照著試一下不行呢?

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-12-25 22:08 by java_love
    如果樓主有空閑的話,是否可以將源碼發給我lbyzmy5@gmail.com

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2011-09-29 09:15 by tb
    好用

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2011-10-25 08:42 by tb
    這個好用............

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2014-04-24 05:07 by im404
    能不能把你這個jar包發給我呢?Email:im404@qq.com

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2014-10-10 16:45 by amy
    求源碼?asdff_px@126.com 我照著代碼寫,也不行,無解!
    主站蜘蛛池模板: 一区二区三区观看免费中文视频在线播放| 美女又黄又免费的视频| 无码精品人妻一区二区三区免费看 | 久久国产乱子伦精品免费一| 亚洲综合色在线观看亚洲| 一级成人生活片免费看| 国产亚洲情侣一区二区无| 国产精品九九久久免费视频 | 69xx免费观看视频| 亚洲国产日韩在线成人蜜芽 | 亚洲国产精品线观看不卡| 国产免费不卡视频| xxx毛茸茸的亚洲| 成年18网站免费视频网站| 亚洲码欧美码一区二区三区| 国产成人免费一区二区三区| 四虎影视久久久免费| 亚洲欧洲日产国码av系列天堂| 九九美女网站免费| 亚洲色图黄色小说| 男男AV纯肉无码免费播放无码 | 中文字幕免费在线观看动作大片| 亚洲乱码一区二区三区在线观看 | 在线观看肉片AV网站免费| 国产亚洲男人的天堂在线观看| 国产最新凸凹视频免费| 丰满妇女做a级毛片免费观看| 国产AⅤ无码专区亚洲AV| 久久成人免费大片| 亚洲剧情在线观看| 日本一道一区二区免费看 | 久久精品国产亚洲av麻豆色欲| 91香蕉成人免费网站| 自拍偷自拍亚洲精品播放| 在线亚洲人成电影网站色www| 日韩精品极品视频在线观看免费| 国产亚洲中文日本不卡二区| 亚洲国产精品尤物YW在线观看| 久久国产乱子伦精品免费不卡 | 男人天堂2018亚洲男人天堂| 亚洲欧洲国产成人综合在线观看|