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

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

2019-09-02    來(lái)源:OSCHINA

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

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

文檔

簡(jiǎn)介: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

特點(diǎn)

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

入門(mén)

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

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

定義實(shí)體類

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世界人工智能大會(huì)在上海開(kāi)幕,本屆大會(huì)以“智聯(lián)世界,無(wú)限可能”為主題,展示包括中國(guó)在內(nèi)各國(guó)最新的AI產(chǎn)品和技術(shù)。在本屆大會(huì)上,除了各國(guó)展出的最新AI技術(shù)和產(chǎn)品外,由華為、寒武紀(jì)、依圖等國(guó)內(nèi)企業(yè)自主研發(fā)的人工智能芯片組成的AI芯片墻更是受到參觀者的關(guān)注。圖為微軟帶來(lái)了智能菜品識(shí)別系統(tǒng),把食物放在收銀檢測(cè)區(qū),便能自覺(jué)識(shí)別價(jià)格。更厲害的是,系統(tǒng)還能給出營(yíng)養(yǎng)分析報(bào)告,例如熱量、脂肪、碳水物、蛋白質(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 并且返回類型是

實(shí)時(shí)索引條件

  • 必須調(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框架集成

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

更新日志

v2.1

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

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

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

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

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