中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

lucene plus 2.1 發(fā)布,簡化搜索

2019-09-02    來源:OSCHINA

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

去除lucene繁瑣的操作,讓你專注于實現(xiàn)業(yè)務(wù)!

文檔

簡介:https://gitee.com/Myzhang/luceneplus/blob/master/README.md

javadoc:https://apidoc.gitee.com/Myzhang/luceneplus

Demo:https://gitee.com/Myzhang/luceneplus/tree/master/src/test/java/com/ld/lucenex/demo

特點

  • 原生lucene用法
  • 天然支持多數(shù)據(jù)源
  • 自帶數(shù)據(jù)源創(chuàng)建和垃圾回收
  • 默認(rèn)實現(xiàn)近實時索引
  • MyDocument 加持 支持 map、json、obj 自動轉(zhuǎn)換
  • 一鍵高亮支持
  • 統(tǒng)一的service接口思想
  • 注解式聲明字段

入門

創(chuàng)建lucene數(shù)據(jù)源

        new LuceneX(new LuceneXConfig() {
            @Override
            public void configLuceneX(BaseConfig me) {
                me.add("d:/","test",Empty.class);
            }
        });

定義實體類

import com.ld.lucenex.field.FieldKey;
import com.ld.lucenex.field.LDType;

public class Empty{

    @FieldKey(type = LDType.IntPoint)
    private int id;
    @FieldKey(type = LDType.StringField)
    private String name;
    @FieldKey(type = LDType.TextField,highlight = true)
    private String text;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

添加索引

        List<Empty> empties = new ArrayList<>(10);
        for (int i=0;i<10;i++){
            Empty empty = new Empty();
            empty.setId(i);
            empty.setName("新聞");
            empty.setText("8月29日,2019世界人工智能大會在上海開幕,本屆大會以“智聯(lián)世界,無限可能”為主題,展示包括中國在內(nèi)各國最新的AI產(chǎn)品和技術(shù)。在本屆大會上,除了各國展出的最新AI技術(shù)和產(chǎn)品外,由華為、寒武紀(jì)、依圖等國內(nèi)企業(yè)自主研發(fā)的人工智能芯片組成的AI芯片墻更是受到參觀者的關(guān)注。圖為微軟帶來了智能菜品識別系統(tǒng),把食物放在收銀檢測區(qū),便能自覺識別價格。更厲害的是,系統(tǒng)還能給出營養(yǎng)分析報告,例如熱量、脂肪、碳水物、蛋白質(zhì)等含量。");
            empties.add(empty);
        }
        ServiceImpl<Empty> basisService = ServiceFactory.getService(ServiceImpl.class);
        basisService.addObjects(empties);

查詢索引

        ServiceImpl<Empty> basisService = ServiceFactory.getService(ServiceImpl.class);
        Empty searchOne = basisService.searchOne(new TermQuery(new Term("name","百度一下")));

高亮顯示條件

  • 字段表明 highlight = true,并且 type = LDType.TextField
    @FieldKey(type = LDType.TextField,highlight = true)
    private String text;
  • 必須調(diào)用searchList 并且返回類型是

實時索引條件

  • 必須調(diào)用ServiceImpl內(nèi)置的添加/更新刪除方法

如何自定義 Service 查詢接口

import com.ld.lucenex.service.ServiceImpl;

public class DemoService<T> extends ServiceImpl<T> {
    public DemoService(String sourceKey) {
        super(sourceKey);
    }
}

如何與其他web/非web框架集成

  • 只要在項目啟動的時候 創(chuàng)建lucene數(shù)據(jù)源即可

更新日志

v2.1

  • 去除一個遞歸調(diào)用接口bug

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Linux Lite 4.6 正式發(fā)布,對新手友好的 Linux 發(fā)行版

下一篇:NSQ 1.2.0 發(fā)布,實時分布式消息傳遞平臺