日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)

在前面的博文中,已完成了在tomcat中對solr的部署,為solr添加了一個自定義的core,并且引入了ik分詞器。

館陶網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,館陶網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為館陶數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的館陶做網(wǎng)站的公司定做!

那么該如何將本地的MySQL的數(shù)據(jù)導(dǎo)入到solr中呢?

準(zhǔn)備工作:

1、mysql數(shù)據(jù)源:myuser庫中的user表(8條數(shù)據(jù)),其中這個updateTime字段是用于solr更新數(shù)據(jù)庫數(shù)據(jù)的依據(jù),表中必須得有這個字段。

/*
Navicat MySQL Data Transfer

Source Server         : localhost
Source Server Version : 50521
Source Host           : localhost:3306
Source Database       : user

Target Server Type    : MYSQL
Target Server Version : 50521
File Encoding         : 65001

Date: 2016-10-21 10:14:01
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `updateTime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '張三', 'abc', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('2', '李四', 'def', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('3', '王五', 'ghi', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('4', '趙六', 'jkl', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('5', '田七', 'mno', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('6', '老八', 'pqr', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('7', '金九', 'stu', '2016-10-21 10:10:58');
INSERT INTO `user` VALUES ('8', '銀十', 'vwx', '2016-10-21 10:10:58');

2、數(shù)據(jù)源配置文件:新建文件:data-config.xml,文件內(nèi)容如下


	
	
		
			
			
			
			
		
	

3、mysql驅(qū)動jar包和solr導(dǎo)入數(shù)據(jù)所需的jar包:mysql-connector-java-5.1.32.jar(這個大家都有) 和 solr-dataimporthandler-4.10.2.jar(這個在solr-4.10.2\dist目錄下可以找到,復(fù)制出來一個即可)

====================================================================================

準(zhǔn)備工作完成之后就可以進(jìn)行配置和操作了。

步驟一:將剛才準(zhǔn)備的那兩個jar包復(fù)制到apache-tomcat-7.0.72\webapps\solr\WEB-INF\lib目錄下。

步驟二:將準(zhǔn)備的data-config.xml文件復(fù)制到solrhome\simple\conf目錄下,和schema.xml同一目錄。

步驟三:在solrhome\simple\conf目錄下找到solrconfig.xml文件,為該文件添加如下內(nèi)容:

 
	
	     data-config.xml
	
  

步驟四:在solrhome\simple\conf目錄下找到schema.xml文件,打開并修改如下:



	
  
			
					
		
		
		
			
		
  
  
	
		
		
		
		
		
		
		
		
	
	id
	

步驟四:啟動tomcat,瀏覽器訪問:locahost:8080/solr 原來的simple中數(shù)沒有任何數(shù)據(jù)的。

(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)


步驟五:導(dǎo)入mysql數(shù)據(jù)到solr中

(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)

再次查看數(shù)據(jù),如果顯示如下,那么恭喜你,數(shù)據(jù)導(dǎo)入成功!

(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)

=====================================================================================

如果想刪除solr中導(dǎo)入的數(shù)據(jù)該如何操作,一上圖就……了然(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)

(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)xml命令:

1、根據(jù)查詢刪除:刪除所有數(shù)據(jù)

*:*

當(dāng)然,上面說的是手動刪除,如果要刪除的數(shù)據(jù)很多,想在下一次自動同步數(shù)據(jù)的時候自動刪除指定的數(shù)據(jù)該如何做呢?

場景:有一批要拍賣的店鋪數(shù)據(jù)存儲在solr中,拍賣的店鋪數(shù)據(jù)有一個拍賣結(jié)束時間(endTime),當(dāng)拍賣結(jié)束時間一到,這條存儲在solr中的拍賣數(shù)據(jù)就沒有意義了,想要刪除這條存儲在solr中的數(shù)據(jù)。

按照上面的手動刪除也不是不可以,但這人工操作未免太扯了,到時間人工去solr中刪除這條數(shù)據(jù)耗時又耗力,也不太現(xiàn)實。

解決辦法就是:

    在data-config.xmlentity中添加:

deletedPkQuery="select id from shops  where endTime < NOW()"

這一句,這句和entiy的query同級,目的是查詢出所有店鋪數(shù)據(jù)中結(jié)束時間小于當(dāng)前時間的店鋪id,

這個店鋪id會和deltaQuery中收集到的id一并執(zhí)行deltaImportQuery操作,只不過一個是添加數(shù)據(jù),一個是刪除數(shù)據(jù)。

如果是其他業(yè)務(wù)場景也可以借鑒下這篇博客中在表中添加isdelete字段的方式完成刪除,其實只要有一個字段能夠標(biāo)識就行:

參考地址:http://simplelife.blog.51cto.com/9954761/1883024 


分享題目:(solr系列:四)將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到solr中及刪除solr中導(dǎo)入的數(shù)據(jù)
鏈接地址:http://www.dlmjj.cn/article/jgshsh.html