日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

在Elasticsearch中索引Java Bean的简单方法

發布時間:2023/12/3 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Elasticsearch中索引Java Bean的简单方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在數據存儲方面,Java程序員習慣于使用魔術般持久的Java Bean。 諸如Hibernate和用于關系數據存儲的JPA規范或Morphia和Spring Data MongoDB之類的解決方案是受歡迎的示例。

使用Elasticsearch的開發人員有時也有相同的愿望–傳遞Java bean并對其進行自動索引。 提供了適用于Elasticsearch的Spring Data實現,但是這可能對您來說是開銷,或者您的Elasticsearch版本不支持。 還有一個Jest ,它使用支持直接存儲Java Bean的HTTP API。

如果您想使用標準的Java客戶端(針對Elasticsearch)執行相同的操作,則沒有對此的直接支持,但是可以輕松地手動實現。

假設您要保留代表一本書的以下簡單對象結構。

Publisher publisher = new Publisher(); publisher.setCountry("UK"); publisher.setName("Packt"); Book book = new Book(); book.setTitle("Learning Spring Boot"); book.setAuthors(Arrays.asList("Greg L. Turnquist")); book.setPublisher(publisher);

經常會發生的情況是,我們在認真思考一種解決問題的方法,以至于看不到更簡單的方法。 我們不需要Elasticsearch的特殊框架。 Elastcsearch將為您愉快地存儲大多數JSON結構。 幸運的是,使用Jackson或GSON之類的庫從Java對象創建JSON文檔是一個已解決的問題。

我們可以簡單地在項目中添加一個依賴項(在這種情況下,將其添加到jackson-databind) ,并實例化一個ObjectMapper。

ObjectMapper mapper = new ObjectMapper();

如果您使用的是Spring Boot,通常甚至可以僅@Autowire ObjectMapper。 然后可以使用ObjectMapper創建對象的JSON表示形式。

String value = mapper.writeValueAsString(book);

這將導致類似于此字符串。

{"title":"Learning Spring Boot","authors":["Greg L. Turnquist"],"publisher":{"name":"Packt","country":"UK"}}

然后,您可以使用Elasticsearch客戶端界面為結果建立索引。

IndexResponse response = client.prepareIndex(indexName, "book").setSource(value).execute().actionGet();

檢索文檔時,可以使用readValue方法再次創建Java對象。

GetResponse getResponse = client.prepareGet(indexName, "book", response.getId()).execute().actionGet(); String source = getResponse.getSourceAsString(); Book persistedBook = mapper.readValue(source, Book.class); assertEquals("Packt", persistedBook.getPublisher().getName());

甚至更好:也許您甚至不需要再次創建Java對象? 當您僅在模板中顯示結果時,僅傳遞結果文檔的Map就足夠了嗎?

Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();

有時,當我們甚至不需要復雜的解決方案時,他們也在尋找它們。 由于Elasticsearch到處都使用J??SON,因此使用Java或其他語言的通用庫進行序列化非常容易。

翻譯自: https://www.javacodegeeks.com/2016/07/simple-way-index-java-beans-elasticsearch.html

總結

以上是生活随笔為你收集整理的在Elasticsearch中索引Java Bean的简单方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一区二区国产 | 日本成人一区二区 | 中文字幕精品在线视频 | 男人的天堂在线视频 | 日韩黄色在线观看 | 国产探花一区二区 | 人人澡人人澡人人澡 | 男男做爰猛烈啪啪高 | 97在线超碰 | 在线观看岛国av | 销魂美女一区二区 | 91肉色超薄丝袜脚交一区二区 | 综合xx网| 久久看看 | 亚洲一区二区三区91 | 好了av在线 | 99久国产| 粉嫩av一区二区三区 | 日韩成人黄色片 | 亚洲91色 | 亚欧成人精品 | 亚洲精品视频在线免费 | 小少妇哺乳喂奶播放 | 色综合五月 | 亚洲xxxx视频 | 色噜噜一区二区三区 | 欧美日本在线看 | 自拍偷拍精品 | 黄色免费在线视频 | 欧洲精品久久一区二区 | 久久精品中文闷骚内射 | 一级片观看 | 亚洲色图校园春色 | 国产av成人一区二区三区 | 久久久天天 | 亚洲黄在线观看 | 中文字幕系列 | 日本波多野结衣在线 | 亚洲免费av网站 | 看av在线 | 欧美日韩国产在线播放 | 奇米影视一区二区三区 | 97人妻精品一区二区免费 | 免费一级毛片麻豆精品 | 在线观看视频中文字幕 | 超薄肉色丝袜一二三 | 日韩av免费在线观看 | 国产精品久久久久毛片大屁完整版 | 一级片在线免费观看视频 | 操白虎逼| 午夜免费看视频 | 欧美天天射 | 日本精品二区 | 少妇中出视频 | 性色av一区二区三区红粉影视 | 欧美嫩草影院 | 翔田千里一区 | www.爆操| 免费观看毛片视频 | 黄色高清视频 | 高跟肉丝丝袜呻吟啪啪网站av | 91超碰在 | 欧美亚洲大片 | 肥熟女一区二区三肥熟女 | 狠狠综合 | 亚洲综合视频在线播放 | 久久久亚洲欧美 | 韩国三级视频在线 | 国产又粗又猛又爽又黄的视频小说 | 久久久久一级片 | av不卡影院 | 性高潮影院 | 日韩福利片 | 久久综合亚洲 | 成人黄色短视频在线观看 | 美女毛毛片 | 国产一区二区精品 | 成人免费一级 | 色片网站在线观看 | 成人3d动漫在线观看 | 一级看片免费视频 | 久久久久久www | 久久99精品久久久久久 | 国产原创视频在线观看 | 插插宗合网 | 张柏芝亚洲一区二区三区 | 国产亚洲精品久 | 成人在线播放av | 夜夜操夜夜爽 | 色综合欧美| 黄色尤物视频 | 国产成人啪精品 | 国产激情一区二区三区视频免樱桃 | 草草影院一区二区三区 | 久久综合九色综合网站 | www.色多多 | 91午夜精品亚洲一区二区三区 | 久久精品99久久久 | 欧美大片在线看 |