SpringBoot集成ElasticSeach

1.應(yīng)入相關(guān)依賴(lài)

// 添加  Spring Data Elasticsearch 的依賴(lài)
    compile('org.springframework.boot:spring-boot-starter-data-elasticsearch')
    // 添加  JNA 的依賴(lài)
    compile('net.java.dev.jna:jna:4.3.0')

2.創(chuàng)建文檔實(shí)體

@Document(indexName = "blog",type = "blog")
public class EcBlog implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    private String id;
    private String title;
    private String content;
    private String summary;

    protected EcBlog(){

    }

    public EcBlog(String title, String content,String summary) {
        this.title = title;
        this.content = content;
        this.summary = summary;
    }

    public EcBlog(String id, String title, String content,String summary) {
        this.id = id;
        this.title = title;
        this.content = content;
        this.summary = summary;
    }

    public String getId() {
        return id;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    @Override
    public String toString() {
        return String.format(
                "User[id=%s, title='%s', content='%s']",
                id, title, content);
    }
}

3.編寫(xiě)Repository資源接口映九,繼承于ElasticsearchRepository接口,編寫(xiě)對(duì)應(yīng)方法findDistinctEcBlogByTitleOrContentContainingOrSummaryContaining(命名規(guī)則與sql同步)

public interface BlogRepository extends ElasticsearchRepository<EcBlog,String> {

    /**
     * 根據(jù)用戶名分頁(yè)查詢博客列表
     * @param title
     * @param content
     * @param pageable
     * @return
     */
    Page<EcBlog> findDistinctEcBlogByTitleOrContentContainingOrSummaryContaining(String title, String content,String summary, Pageable pageable);

}

4.編寫(xiě)Controller層代碼

@RestController
@RequestMapping("/blogs")
public class BlogController  {

    @Autowired
    private BlogRepository blogRepository;


    @GetMapping
    public List<EcBlog> blogList(@RequestParam(value = "title",required = false,defaultValue = "")String title,
                                 @RequestParam(value = "content",required = false,defaultValue = "")String content,
                                 @RequestParam(value = "summary",required = false,defaultValue = "")String summary,
                                 @RequestParam(value = "pageIndex",required = false,defaultValue = "0")int pageIndex,
                                 @RequestParam(value = "pageSize",required = false,defaultValue = "10")int pageSize){
        Pageable pageable = new PageRequest(pageIndex,pageSize);//Distinct
        Page<EcBlog> page= blogRepository.findDistinctEcBlogByTitleOrContentContainingOrSummaryContaining(title, content,summary,pageable);
        return page.getContent();
    }
}

5.在application.properties配置文件中加入配置

# 內(nèi)嵌 Elasticsearch 實(shí)例墩剖。默認(rèn)存儲(chǔ)位置是工作目錄的 elastic 目錄
spring.data.elasticsearch.properties.path.home=target/elastic
# 設(shè)置連接超時(shí)時(shí)間
spring.data.elasticsearch.properties.transport.tcp.connect_timeout=120s

注意:在運(yùn)行項(xiàng)目的時(shí)候善涨,本地必須已經(jīng)啟動(dòng)了elasticsearch,運(yùn)行在9300端口。執(zhí)行elasticsearch安裝路徑下bin文件夾中elasticsearch.bat。出現(xiàn)以下頁(yè)面表示啟動(dòng)已經(jīng)完成淮椰。


image.png

附上elasticsearch2.4.4的下載地址
http://www.elastic.co/downloads/past-releases/elasticsearch-2-4-4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市纳寂,隨后出現(xiàn)的幾起案子主穗,更是在濱河造成了極大的恐慌,老刑警劉巖毙芜,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忽媒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡腋粥,警方通過(guò)查閱死者的電腦和手機(jī)晦雨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)灯抛,“玉大人金赦,你說(shuō)我怎么就攤上這事音瓷《越溃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵绳慎,是天一觀的道長(zhǎng)纵竖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)杏愤,這世上最難降的妖魔是什么靡砌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮珊楼,結(jié)果婚禮上通殃,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好画舌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布堕担。 她就那樣靜靜地躺著,像睡著了一般曲聂。 火紅的嫁衣襯著肌膚如雪霹购。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天朋腋,我揣著相機(jī)與錄音齐疙,去河邊找鬼。 笑死旭咽,一個(gè)胖子當(dāng)著我的面吹牛贞奋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播穷绵,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼忆矛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了请垛?” 一聲冷哼從身側(cè)響起催训,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宗收,沒(méi)想到半個(gè)月后漫拭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡混稽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年采驻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匈勋。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡礼旅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洽洁,到底是詐尸還是另有隱情痘系,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布饿自,位于F島的核電站汰翠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏昭雌。R本人自食惡果不足惜复唤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烛卧。 院中可真熱鬧佛纫,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至攒盈,卻和暖如春抵拘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背型豁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工僵蛛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人迎变。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓充尉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衣形。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驼侠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355