1. 程式人生 > >solr索引庫新增

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>