亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Springboot集成spring data elasticsearch過程詳解

瀏覽:4日期:2023-09-13 09:47:52

版本對照

Springboot集成spring data elasticsearch過程詳解

各版本的文檔說明:https://docs.spring.io/spring-data/elasticsearch/docs/

1、在application.yml中添加配置

spring: data: elasticsearch: repositories: enabled: true #多實例集群擴展時需要配置以下兩個參數 #cluster-name: datab-search #cluster-nodes: 127.0.0.1:9300,127.0.0.1:9301

2、添加 Maven 依賴

<!---開箱即用,版本默認和springboot版本對應--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>

3、建立實體entity注解說明:

Spring Data通過注解來聲明字段的映射屬性,有下面的三個注解:

@Document 作用在類,標記實體類為文檔對象,一般有兩個屬性 indexName:對應索引庫名稱 type:對應在索引庫中的類型 shards:分片數量,默認5 replicas:副本數量,默認1 @Id 作用在成員變量,標記一個字段作為id主鍵 @Field 作用在成員變量,標記為文檔的字段,并指定字段映射屬性: type:字段類型,是枚舉:FieldType,可以是text、long、short、date、integer、object等 text:存儲數據時候,會自動分詞,并生成索引 keyword:存儲數據時候,不會分詞建立索引 Numerical:數值類型,分兩類 基本數據類型:long、interger、short、byte、double、float、half_float 浮點數的高精度類型:scaled_float 需要指定一個精度因子,比如10或100。elasticsearch會把真實值乘以這個因子后存儲,取出時再還原。 Date:日期類型 elasticsearch可以對日期格式化為字符串存儲,但是建議我們存儲為毫秒值,存儲為long,節省空間。 index:是否索引,布爾類型,默認是true store:是否存儲,布爾類型,默認是false analyzer:分詞器名稱,這里的ik_max_word即使用ik分詞器

示例:

@Document(indexName = 'cp_doc', type = 'doc', shards = 10, replicas = 0)public class CpDocument extends BaseEntity { @Id//作用在成員變量,標記一個字段作為id主鍵private long id ;@Field(type = FieldType.Text)private String name ;@Field(type = FieldType.Text)private String address ;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}

 4、編寫 Repository 訪問層 

/** * 基本操作repository-curd * @author 滾動的蛋 * */public interface CpRepository extends ElasticsearchRepository<CpDocument, Integer> {}

5、創建索引+查詢示例 

@RunWith(SpringRunner.class)@SpringBootTestpublic class ElasticSearchTest { @Autowired CpRepository cpRepository; @Autowired ElasticsearchTemplate elsTemplate;//ElasticsearchTemplate中提供了創建索引的API<br data-filtered='filtered'><br data-filtered='filtered'> @Test public void addIndexTest() { //創建索引 boolean indexRes = elsTemplate.createIndex(CpDocument.class); System.out.println('======創建索引結果:'+indexRes+'========='); //添加索引 CpDocument cpTest = new CpDocument(); cpTest.setId(1); cpTest.setName('阿里巴巴'); cpTest.setAddress('北京路12號'); cpRepository.save(cpTest); } @Test public void srarchTest() { //這個只做一個多字段的匹配查詢示例,其它的可以查看API文檔使用 //'name','address' 為匹配的字段 MultiMatchQueryBuilder multiMatchQuery = QueryBuilders.multiMatchQuery('阿里巴巴','address','name');//多字段匹配QueryBuilder SearchQuery searchQuery = new NativeSearchQueryBuilder()//構建查詢對象 .withQuery(multiMatchQuery) .withIndices('cp_doc')//索引名 .withPageable(PageRequest.of(0, 10))//分頁 .build(); Iterable<CpDocument> productDtos = cpRepository.search(searchQuery); ArrayList<CpDocument> CpDocuments = Lists.newArrayList(productDtos); for (CpDocument cpDocument : CpDocuments) { System.out.printf('企業名稱:%s,企業地址:%sn',cpDocument.getName(),cpDocument.getAddress()); } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲国产高清美女在线观看 | 大片免费看大片费看大片 | 黄色免费小视频 | 久久精品店 | 国产精品久久久久免费a∨ 国产精品久久久久这里只有精品 | 国产中文字幕在线视频 | 日本无套 | 国产90后美女露脸在线观看 | 国产欧美精品系列在线播放 | 亚洲欧美中文字幕专区 | 欧美色噜噜 | 国产成人精品999在线观看 | 在线观看日本永久免费视频 | 国产亚洲精品热视频在线观看 | 国产色视频网站免费观看 | 丝袜 亚洲 另类 欧美 变态 | 国产一区二区在线观看视频 | 欧美一级大黄特黄毛片视频 | 亚洲福利视频一区二区 | 日韩操片| 特黄特a级特别特级特毛片 特黄特色一级aa毛片免费观看 | 日韩免费视频观看 | 成人精品视频一区二区三区尤物 | 亚洲国产视频网站 | 成人午夜在线观看 | 成年性午夜免费视频网站不卡 | 91网址在线播放 | 亚洲精品96欧美一区二区 | 三级国产在线 | 欧美成人精品第一区 | 亚洲欧美在线中文字幕不卡 | 国内真实迷j下药在线观看 国内真实愉拍系列情侣 | 亚洲欧美精品一中文字幕 | 91免费视频. | 一级黄色录像免费观看 | 黄色中文字幕在线观看 | 日本一级特黄毛片免费视频 | 色视频免费观看高清完整 | 国产毛片一区二区三区精品 | 欧美freesex呦交中文 | 黄色小视频在线播放 |