1.Elasticsearch
Elasticsearch提供了兩種連接方式:
transport:通過TCP方式訪問ES。(已廢棄)
rest:通過HTTP API 方式訪問ES。
描述: Spring Data Elasticsearch 項(xiàng)目提供了與Elasticsearch 搜索引擎的集成。Spring Data ElasticSearch 的關(guān)鍵功能領(lǐng)域是以POJO為中心的模型,用于與Elastichsearch 文檔交互并輕松編寫Repository樣式的數(shù)據(jù)訪問層。
實(shí)例:
1.添加配置到application文件:
spring:
data:
jest:
uri: http://127.0.0.1:9200(ES默認(rèn)端口為9200)
創(chuàng)建相應(yīng)的接收類(類似于與數(shù)據(jù)庫相對應(yīng)的實(shí)體類):
@Document(indexName = "product", // 索引名
type = "product", // 類型。未來的版本即將廢棄
shards = 1, // 默認(rèn)索引分區(qū)數(shù)
replicas = 0, // 每個(gè)分區(qū)的備份數(shù)
refreshInterval = "-1" // 刷新間隔
)
public class ESProductDO {
/**
* ID 主鍵
*/
@Id
private Integer id;
/**
* SPU 名字
*/
@Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
private String name;
/**
* 賣點(diǎn)
*/
@Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
private String sellPoint;
/**
* 描述
*/
@Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
private String description;
/**
* 分類編號
*/
private Integer cid;
/**
* 分類名
*/
@Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
private String categoryName;
其中字段上的 @Field 注解的 FieldAnalyzer ,是定義的枚舉類。
FieldAnalyzer.IK_MAX_WORD — 會將文本做最細(xì)粒度的拆分。
FieldAnalyzer.IK_SMART ---- 會做最粗粒度的拆分。
- Repository類(類似與數(shù)據(jù)庫的Dao層),繼承ElasticsearchRepository<ESProductDO, Integer>,已經(jīng)存在了CRUD的操作(與jpa類似)。
public interface ProductRepository extends ElasticsearchRepository<ESProductDO, Integer> {
}
ElasticsearchRepository 方法命名規(guī)則如下:文章來源:http://www.zghlxwxcb.cn/news/detail-785304.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-785304.html
到了這里,關(guān)于spring Data Elasticsearch入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!