SpringBoot+solr配置入門
1.首先solr已經配置完畢,並且含有資料
2.開始搭建工程
3.編寫配置檔案
同樣找到resources下的application.propertis檔案
叢集和單機版配置有差別
3.1單機版 需要指定solr伺服器的ip埠例項名
#配置單機版 單機版solr地址+例項名
spring.data.solr.host=http://192.168.10.101:8080/solr/collection1
3.2叢集版需要配置solr伺服器的zookeeper地址
#配置叢集版 zookeeper的地址
spring.data.solr.zk-host=192.168.10.88:2181,192.168.10.88:2182,192.168.10.88:2183
4.在測試目錄進行測試
4.1簡單測試查詢+分頁 叢集版需要強轉CloudSolrClient
@Test
public void findPage() throws IOException, SolrServerException {
/**
* 叢集版CloudSolrClient繼承自SolrClient 進行強轉
* 單機版不需要直接使用solrClient
*/
CloudSolrClient cloudSolrClient =(CloudSolrClient)solrClient;
//設定預設的操作例項
cloudSolrClient.setDefaultCollection("collection1");
//設定查詢的引數
SolrQuery query = new SolrQuery();
query.setQuery("item_title:手機");
query.setStart(1);
query.setRows(20);
//執行查詢
QueryResponse response = cloudSolrClient.query(query);
SolrDocumentList documentList = response.getResults();
for (SolrDocument entries : documentList) {
String goodsName = (String) entries.getFieldValue("item_title");
String id = (String)entries.getFieldValue("id");
System.out.println(id+"-->"+goodsName);
}
}
效果如下:2018-06-21 11:12:51.463 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:java.compiler=<NA>
2018-06-21 11:12:51.463 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:os.name=Windows 7
2018-06-21 11:12:51.464 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:os.arch=amd64
2018-06-21 11:12:51.464 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:os.version=6.1
2018-06-21 11:12:51.464 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:user.name=Administrator
2018-06-21 11:12:51.465 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:user.home=C:\Users\Administrator
2018-06-21 11:12:51.465 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Client environment:user.dir=D:\work_space\springbootdemo\springboot-solr
2018-06-21 11:12:51.470 INFO 8340 --- [ main] org.apache.zookeeper.ZooKeeper : Initiating client connection, connectString=192.168.10.88:2181,192.168.10.88:2182,192.168.10.88:2183 sessionTimeout=10000 watcher=org.apache.solr.common.cloud.SolrZkClient$3@68ed96ca
2018-06-21 11:12:51.636 INFO 8340 --- [168.10.88:2182)] org.apache.zookeeper.ClientCnxn : Opening socket connection to server 192.168.10.88/192.168.10.88:2182. Will not attempt to authenticate using SASL (unknown error)
2018-06-21 11:12:51.649 INFO 8340 --- [168.10.88:2182)] org.apache.zookeeper.ClientCnxn : Socket connection established to 192.168.10.88/192.168.10.88:2182, initiating session
2018-06-21 11:12:51.795 INFO 8340 --- [168.10.88:2182)] org.apache.zookeeper.ClientCnxn : Session establishment complete on server 192.168.10.88/192.168.10.88:2182, sessionid = 0x2642028d55b0000, negotiated timeout = 10000
2018-06-21 11:12:52.128 INFO 8340 --- [ main] o.a.solr.common.cloud.ZkStateReader : Updated live nodes from ZooKeeper... (0) -> (4)
2018-06-21 11:12:52.262 INFO 8340 --- [ main] o.a.s.c.s.i.ZkClientClusterStateProvider : Cluster at 192.168.10.88:2181,192.168.10.88:2182,192.168.10.88:2183 ready
1458729469-->海爾(Haier)HM-M209手機 老人機 老人手機 老年手機 直板手機 紅色
1458729470-->海爾(Haier)HM-M209手機 老人機 老人手機 老年手機 直板手機 黑色
1213323763-->唐為 TW509 GSM 移動聯通2G手機 翻蓋手機 雙卡雙待 老人手機 金色
1202453093-->唐為 TW509 移動聯通2G手機 翻蓋手機 雙卡雙待 老人手機 金色
1385872974-->迪士尼(Disney) Q611 兒童手機 黃色
967021-->TCL 老人手機 (i310) 暗夜黑 移動聯通2G手機
1305691-->TCL 老人手機 (i310+) 暗夜黑 移動聯通2G手機
1078460347-->大Q手機 Q1 移動3G手機 香檳金 官方標配
1079894632-->優思 (Uniscope) U6X 電信2G手機 迷你手機 粉
1286299689-->唐為 TW99A 移動聯通2G手機 老人手機 紅色
1295341-->OPPO 1100 白色 聯通4G手機
1231490-->小米4 白色 聯通3G手機
1027857-->TCL 老人手機 (i310) 純淨白 移動聯通2G手機
1305682-->TCL 老人手機 (i310+) 純淨白 移動聯通2G手機
1074112714-->大Q手機 Q1 移動3G手機 高階黑 官方標配
1079894631-->優思 (Uniscope) U6X 電信2G手機 迷你手機 白
1309191989-->大Q手機 Q1 4G版 移動4G手機 黑色
1309191990-->大Q手機 Q1 4G版 移動4G手機 白色
1465889278-->HANMAC 星座系列 聯通3G 輕奢手機 射手座
985058-->派信(PISIN) WO1 NanoSmart 智慧手錶手機(藍色)
4.2配置欄位高亮顯示
/**
* 設定結果高亮顯示
*/
@Test
public void hl() throws IOException, SolrServerException {
/**
* 叢集版CloudSolrClient繼承自SolrClient 進行強轉
* 單機版不需要直接使用solrClient
*/
CloudSolrClient cloudSolrClient =(CloudSolrClient)solrClient;
//設定預設的操作例項
cloudSolrClient.setDefaultCollection("collection1");
//設定查詢的引數
SolrQuery query = new SolrQuery();
query.setQuery("item_title:手機");
//開啟高亮
query.setHighlight(true);
//設定高亮欄位
query.addHighlightField("item_title");
//字首
query.setHighlightSimplePre("<font color='red'>");
//字尾
query.setHighlightSimplePost("</font>");
//執行查詢
QueryResponse response = cloudSolrClient.query(query);
//列印高亮資訊
System.out.println(response.getHighlighting());
}
效果如下:
{1213323763={item_title=[唐為 TW509 GSM 移動聯通2G<font color='red'>手機</font> 翻蓋<font color='red'>手機</font> 雙卡雙待 老人<font color='red'>手機</font> 金色]},
1202453093={item_title=[唐為 TW509 移動聯通2G<font color='red'>手機</font> 翻蓋<font color='red'>手機</font> 雙卡雙待 老人<font color='red'>手機</font> 金色]}, 1079894632={item_title=[優思 (Uniscope) U6X 電信2G<font color='red'>手機</font> 迷你<font color='red'>手機</font> 粉]}, 1305691={item_title=[TCL 老人<font color='red'>手機</font> (i310+) 暗夜黑 移動聯通2G<font color='red'>手機</font>]},
1458729470={item_title=[海爾(Haier)HM-M209<font color='red'>手機</font> 老人機 老人<font color='red'>手機</font> 老年<font color='red'>手機</font> 直板<font color='red'>手機</font> 黑色]}, 967021={item_title=[TCL 老人<font color='red'>手機</font> (i310) 暗夜黑 移動聯通2G<font color='red'>手機</font>]}, 1460827382={item_title=[海爾(Haier)HM-M209<font color='red'>手機</font> 老人機 老人<font color='red'>手機</font> 老年<font color='red'>手機</font> 直板<font color='red'>手機</font> 白色]}, 1078460347={item_title=[大Q<font color='red'>手機</font> Q1 移動3G<font color='red'>手機</font> 香檳金 官方標配]}, 1385872974={item_title=[迪士尼(Disney) Q611 兒童<font color='red'>手機</font> 黃色]}, 1458729469={item_title=[海爾(Haier)HM-M209<font color='red'>手機</font> 老人機 老人<font color='red'>手機</font> 老年<font color='red'>手機</font> 直板<font color='red'>手機</font> 紅色]}}
相關文章
- Vim 配置入門
- Atcoder Library 配置入門
- Charles的安裝配置入門指南
- SSH安全性和配置入門
- nginx rails 詳細站點配置入門教程NginxAI
- Photoshop 2021中文入門教程|置入其他圖片
- apache2.4.33偽靜態配置入門教程(1)Apache
- RedHat Linux下防火牆配置入門必學(轉)RedhatLinux防火牆
- 容器、Docker與Kubernetes——Kubernetes的配置入門Docker
- Material適配1 - 入門篇
- 藍芽衛生棉條:置入的智慧穿戴裝置藍芽
- Spring入門(二):自動化裝配beanSpringBean
- 在 vue-cli 腳手架中引用 jQuery、bootstrap 以及使用 sass、less 編寫 css [vue-cli配置入門]VuejQuerybootCSS
- [JAVAFX基礎]掃雷經典入門低配版Java
- Mac置入睡眠狀態或喚醒的操作方法Mac
- Spring入門(三):通過JavaConfig裝配beanSpringJavaBean
- Spring入門(八):自動裝配的歧義性Spring
- 條款17以獨立語句將newed物件置入智慧指標物件指標
- Android適配: 拉伸適配的缺點Android
- flutter 螢幕尺寸適配 字型大小適配Flutter
- 股票配資程式
- spring裝配Spring
- Android適配Android
- iOS 11適配iOS
- https適配HTTP
- requirejs 配製UIJS
- 適配iphone XiPhone
- 配額協議協議
- Linux的LVM與磁碟配額(理論+配寫)LinuxLVM
- android螢幕適配三:通過畫素密度適配Android
- Android螢幕適配(理論適配100%機型)Android
- Spring實戰:裝配bean-自動化裝配beanSpringBean
- Flutter螢幕適配Flutter
- Rem 等比適配始末REM
- Spring bean 裝配SpringBean
- Flutter深色模式適配Flutter模式
- h5適配H5
- rem 適配佈局REM