solr索引庫新增
2.分析需要匯入索引庫的資料資訊,將這些屬性重新封裝成一個POJO類
同時別忘了依賴SOLR架包
3.編寫Mapper.java和Mapper.xml
由於是多表查詢,原來逆向工程的Mapper無法使用,所以需要自己寫
Mapper.java中寫介面,
Mapper.xml中實現如下
<mapper namespace="com.taotao.search.mapper.SearchItemMapper" >
<select id="getItemList" resultType="com.taotao.common.pojo.SearchItem" >
SELECT
a.id,
a.title,
a.sell_point,
a.price,
a.image,
b. NAME category_name,
c.item_desc
FROM
tb_item a
LEFT JOIN tb_item_cat b ON a.cid = b.id
LEFT JOIN tb_item_desc c ON a .id = c.item_id
WHERE
a.`status` = 1
</select>
</mapper>
4.在schea.xml配置檔案中配置IK分詞方法在第一步中其實已經做了
<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>
5.編寫單機版solr的配置檔案
<!-- 單機版solr的連線 -->
<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
<constructor-arg name="baseURL" value="http://127.0.0.1:8090/solr/collection1"/>
</bean>
6.實現
《1》編寫介面
TaotaoResult importItemsToIndex();
《2》實現介面
/**
* 商品資料匯入索引庫
* <p>Title: SearchItemServiceImpl</p>
* <p>Description: </p>
* <p>Company: www.itcast.cn</p>
* @version 1.0
*/
@Service
public class SearchItemServiceImpl implements SearchItemService {
@Autowired
private SearchItemMapper searchItemMapper;
@Autowired
private SolrServer solrServer;
@Override
public TaotaoResult importItemsToIndex() {
try {
//1、先查詢所有商品資料
List<SearchItem> itemList = searchItemMapper.getItemList();
//2、遍歷商品資料新增到索引庫
for (SearchItem searchItem : itemList) {
//建立文件物件
SolrInputDocument document = new SolrInputDocument();
//向文件中新增域
document.addField("id", searchItem.getId());
document.addField("item_title", searchItem.getTitle());
document.addField("item_sell_point", searchItem.getSell_point());
document.addField("item_price", searchItem.getPrice());
document.addField("item_image", searchItem.getImage());
document.addField("item_category_name", searchItem.getCategory_name());
document.addField("item_desc", searchItem.getItem_desc());
//把文件寫入索引庫
solrServer.add(document);
}
//3、提交
solrServer.commit();
} catch (Exception e) {
e.printStackTrace();
return TaotaoResult.build(500, "資料匯入失敗");
}
//4、返回新增成功
return TaotaoResult.ok();
}
}
《3》控制層
@Controller
public class IndexManagerController {
@Autowired
private SearchItemService searchItemService;
@RequestMapping("/index/import")
@ResponseBody
public TaotaoResult importIndex() {
TaotaoResult taotaoResult = searchItemService.importItemsToIndex();
return taotaoResult;
}
}
相關推薦
solr索引庫新增
2.分析需要匯入索引庫的資料資訊,將這些屬性重新封裝成一個POJO類 同時別忘了依賴SOLR架包 3.編寫Mapper.java和Mapper.xml 由於是多表查詢,原來逆向工程的Mapper無法使用,所以需要自己寫 Mapper.java中寫介面
solrj操作solr索引庫(流程)
utf-8 except exception chcon tca hit lis gmv 添加 聲明:博主自己記錄以免忘記,所以無邏輯無參考價值。小女子就是醬紫任性 ---------首先dao層 訪問索引庫的類。定義一些通用的數據訪問方法。 業務邏輯就是查詢索引庫。 參數
商品稽核-匯入Solr索引庫和靜態化
1.需求分析 1. manager-web運營商專案稽核商品, 呼叫sellergoods-service專案中的方法 2. sellergoods-service專案更改資料庫中商品的稽核狀態 3. sellergoods-service專案向activeMq伺服器傳
淘淘商城22_全文檢索_通過solrj對solr索引庫進行操作
百度網盤:jar包solrj 連結:https://pan.baidu.com/s/1HJ5M4YGyXj4AA3Enf6sDsA 提取碼:rqy9 步驟: 第一步:建立一個java工程 第二步:匯入jar包。包括solrJ的jar包 第三步
day73_淘淘商城專案_06_搜尋工程的搭建 + linux下solr索引庫的搭建 + 把商品資料匯入到索引庫中(後臺) + 商品搜尋功能實現(前臺) + 圖片顯示等問題解決_匠心筆記
淘淘商城專案_06 1、搜尋工程的搭建 1.1、Solr服務搭建 1.1.1、solr的環境 1.1.2、solr的搭建步驟 1.1.3、solr的使用 1.2、配置
淘淘商城44-使用訊息佇列activeMQ更新solr索引庫--解決同步索引問題
目錄 3.注意 1.為什麼要使用訊息對列acitveMQ 在我們的後臺,增加、修改、刪除商品時,這裡以修改為例。 修改商品時,修改的是資料庫中的資料。但是使用者在商品搜尋時,搜尋的是solr索引庫中的資料,所
使用自定義的註解,將從solr索引庫查詢得到的文件物件封裝成bean
1. 註解 先寫一個註解, 加一個引數value ,用來指定這個欄位對應的solr的索引名 在bean的欄位上使用該註解 package com.zgd.anno; import java.la
solr 索引庫的維護
一、配置中文分析器:IK-analyzer,在FieldType中指定中文分析器:1 複製IK-analyzer到你的伺服器指定目錄中。2 在該目錄中,我們需要的東西有:IKAnalyzer的jar包,IKAnalyzer.cfg.xml,mydict.dic和ext_sto
獲取solr 索引庫中總記錄條數
/** * 獲取索引庫中總記錄條數 * @return */ public long getSolrIndexCount(){ long num = 0; try { SolrQuery params = ne
【學習筆記】Solr索引庫的配置整理
Spring整合Solr Spring配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="ht
淘淘商城專案_同步索引庫問題分析 + ActiveMQ介紹/安裝/使用 + ActiveMQ整合spring + 使用ActiveMQ實現新增商品後同步索引庫_匠心筆記
文章目錄 1、同步索引庫問題分析 2、ActiveM的介紹 2.1、什麼是ActiveMQ 2.2、ActiveMQ的訊息形式 3、ActiveMQ的安裝 3.1、安裝環境 3.2、安裝步驟
常用工具類--solr索引新增 查詢 刪除
solr常用操作 首先是連線solr伺服器: public class solrServer { private solrServer(){}; final static String SOLR_URL = "http://localhost:8080/solr
javaEE Lucene,全文檢索,站內搜尋,入門程式。索引庫的新增
注意:搜尋使用的分析器(分詞器)要和建立索引時使用的分析器一致。 Field類(域物件): Test.java(入門程式 測試類): package com.xxx.lucene; import static org.junit.Assert.*; im
day73_淘淘商城專案_06_solr索引庫搭建 + solr搜尋功能實現 + 圖片顯示等問題解決_匠心筆記
課程計劃 第六天: 1、搜尋工程的搭建 2、linux下solr服務的搭建 3、測試使用solrJ管理索引庫 4、把商品資料匯入到索引庫中(後臺功能) 5、商品搜尋功能實現(前臺功能) 1、搜尋工程的搭建 要實現搜尋功能,需要搭建solr服務、搜尋服務工程、搜尋系統(表
Solr:將資料庫匯入到索引庫<五>
將資料庫匯入到索引庫 準備: 資料表:我的測試表:testsolr mysql驅動 配置資料匯入功能: 在solrconfig.xml中配置requestHandler 配置資料匯入外掛 在索引庫中建立lib資料夾 在solrconfig.xml中引入 1.1 自定義索引庫:tests
day75_淘淘商城專案_08_同步索引庫問題分析 + ActiveMQ介紹/安裝/使用 + ActiveMQ整合spring + 使用ActiveMQ實現新增商品後同步索引庫_匠心筆記
淘淘商城專案_08 1、同步索引庫問題分析 2、ActiveM的介紹 2.1、什麼是ActiveMQ 2.2、ActiveMQ的訊息形式 3、ActiveMQ的安裝 3.1、安裝環
實戰day09(二)----新增商品同步索引庫
dao層的方法新增建立監聽器package cn.e3mall.search.message; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage;
Solr學習二索引庫的建立
上篇文章講了基本的solr平臺的搭建。 這裡接著講解solr索引庫的建立。 1、在webapps中solr中solrhome目錄下新建一個資料夾名字叫做myindex(名字不固定,可以隨便取,但是這個名字在後面的配置中會有所關聯)。 2、然後在myindex檔案下新建一個名
solr的索引庫配置
本次主要討論的是schema.xml的索引庫的搜尋域的配置。 其中field的基本屬性配置。 fieldType:可以自己定義type的型別,比如中文的分詞器IKAnalyzer field域:主要是用於資料存取的域,裡面使用key,value儲存資料。 name
solr系列--索引庫儲存在hdfs中
軟體準備: 1.Tomcat 2.solr-5.2.1.tgz 3.hadoop-2.7.2 執行環境 centos7 看以前文件hadoop安裝好 在hadoop-2.7.2/etc/hadoop下的hdfs-site.xml增加了以下內容 <property>