1. 程式人生 > >和我一起打造個簡單搜索之Logstash實時同步建立索引

和我一起打造個簡單搜索之Logstash實時同步建立索引

為什麽 ring 消失 放心 小雷 的人 現在 .net intro

用過 Solr 的朋友都知道,Solr 可以直接在配置文件中配置數據庫連接從而完成索引的同步創建,但是 ElasticSearch 本身並不具備這樣的功能,那如何建立索引呢?方法其實很多,可以使用 Java API 的方式建立索引,也可以通過 Logstash 的插件 logstash-input-jdbc 完成,今天來探討下如何使用 logstash-input-jdbc 完成全量同步以及增量同步。

環境

本文以及後續 es 系列文章都基於 5.5.3 這個版本的 elasticsearch ,這個版本比較穩定,可以用於生產環境。

默認你已經搭建好 es 的基礎環境,如還未搭建好,請參考前文。接下來只講解 logstash 的安裝使用。本文使用最新版本的 logstash ,版本號為 6.4.0。

系列文章

  • 一、和我一起打造個簡單搜索之ElasticSearch集群搭建
  • 二、和我一起打造個簡單搜索之ElasticSearch入門
  • 三、和我一起打造個簡單搜索之IK分詞以及拼音分詞
  • 四、和我一起打造個簡單搜索之Logstash實時同步建立索引
  • 五、和我一起打造個簡單搜索之SpringDataElasticSearch入門
  • 六、和我一起打造個簡單搜索之SpringDataElasticSearch關鍵詞高亮
  • ...

數據準備

技術分享圖片

如圖所示,如果要實現這個搜索,首先要創建相關的索引,篩選條件有男生/女生,還有分類,屬性,字數,連載狀態,品質等,排序條件有人氣,時間,字數,收藏,推薦,點擊。

這些數據正常都不會再同一張表當中,而是分布於不同的表中,但這些數據都與作品的 id 緊緊關聯。本文為了方便演示,把這些數據都放在同一張表當中,如果在實際使用的過程當中,如果遇到多張表的情況,可以寫 sql 進行聯合查詢,同樣也可以建立索引,實現方式詳見下文。

創建表結構

CREATE TABLE `book`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `create_time` datetime(0) NULL DEFAULT NULL,
  `update_time` datetime(0) NULL DEFAULT NULL,
  `status` tinyint(11) NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
  `intro` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL,
  `icon` int(11) NULL DEFAULT NULL,
  `author` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
  `words` int(11) NULL DEFAULT NULL,
  `collection` int(11) NULL DEFAULT NULL,
  `goods` int(11) NULL DEFAULT NULL,
  `click` int(11) NULL DEFAULT NULL,
  `site` tinyint(11) NULL DEFAULT NULL,
  `sort` tinyint(11) NULL DEFAULT NULL,
  `vip` tinyint(11) NULL DEFAULT NULL,
  `popularity` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB  CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ;

導入測試數據

註:測試數據是通過爬蟲在盜版網站抓的,個別數據胡亂填寫的。

INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (1, ‘2017-12-27 20:53:01‘, ‘2018-09-10 20:53:46‘, 0, ‘火爆娛樂天王‘, ‘  有人說:“他是至高無上的音樂教皇!”有人說:“他是無人能及的影視國王!”還有人說:“他是神級作家、話劇大師、偉大的音樂家……”他使華夏元素狂暴沖擊西方文化,卻又能做出令西方人也不及的歐美音樂影視。他造就了無數的歌星影星,創作出無數的經典,建立了一個龐大的娛樂帝國。當所有人稱頌他膜拜他的時候,只有他自己知道,他不過是一個意外來自異時空的文化使者。  ‘, 1, ‘茶與酒之歌‘, 230000, 4234, 42315, 523, 2, 9, 1, 12423);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (2, ‘2017-12-27 20:53:01‘, ‘2017-12-27 20:53:03‘, 0, ‘無限平行進化‘, ‘  日復一日的枯燥生活讓廖宇開始產生了難以抑制的厭倦。沈重龐大的經濟負擔使他的生活開始產生了變化。歷史的缺失更是成為了他心中不散的謎團。某一天突如其來的陌生信息終於給他打開了一扇門。性格各異的X戰警與復雜龐大的復仇者聯盟會再度爆發怎樣的戰爭。加勒比海上是否還會揚起第四艘傳奇戰艦的旗幟。鋪天蓋地的宇宙蟲族與冰冷機械的人工智能誰才是最具有侵略性的文明。最終廖宇會如何選擇,向左還是向右…… 各位書友要是覺得《無限平行進化》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!無限平行進化最新章節,無限平行進化無彈窗,無限平行進化全文閱讀.  ‘, 0, ‘雪色銀狼CS‘, 555555, 450000, 13412, 555, 2, 9, 1, 342);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (3, ‘2017-12-27 20:53:02‘, ‘2018-09-15 20:53:55‘, 0, ‘逆天藥神‘, ‘  一個意外,讓他在星空的彼岸兩地相望。三人攜手,殺出了這片大陸的四方威名。他,張凡,既然獲得新生,就絕不再做弱者。既然要成為強者,就必須讓這片星空顫抖!“既然是我的未來,那便只能由我主宰”  ‘, 1, ‘楓葉‘, 340000, 213334, 3421, 42314, 2, 9, 1, 52315);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (4, ‘2017-12-27 20:53:02‘, ‘2018-08-16 20:53:59‘, 0, ‘錦繡風華之第一農家女1‘, ‘  前世她是鐵血手腕的帝國集團總裁,卻被心愛之人設計,魂歸天國。 再次睜眼,眼前的三間茅草屋,一對小瘦猴。 就算是她定力再強悍,在他們喊出那聲“娘”的時候,還是讓她差點沒跳起來。 前世活到28還是清白如蘭,一個穿越就讓她勉強算是B的身材,孕育出一對兒女? 當然,這還是其次,最重要的是她丫的居然是未婚生子,這在現代都遭人白眼的事情,那個天殺的能告訴她,這個身體的原主,是不是太牛叉了,居然沒有被浸豬籠。 只是,當這對瘦的皮包骨的小包子在她跟前,腫著兩對眼泡忍者淚花跑前跑後,就算是她再不想面對現實,也無法坐視不理。 既然讓她再次重生,她勢必要左手揮舞鋤頭,右手執筆算盤,帶著一對可愛的包子,發家致富。 購田地,建豪宅,買下人,顧長工,一切都再朝著讓她滿意的方向前進,而那些眼紅嫉妒之輩,完全都是她業余之時的消遣,根本就不是一個等級。 但是,常在河邊走,哪有不濕鞋,這個道理她明白,卻沒想到那鞋子會濕的這麽快,面對那個如同妖孽般,表面謙謙公子,風華無雙,實則腹黑狡詐,怎麽坑死她怎麽來,還讓她有火沒處發。 精彩小劇場 當一對粉雕玉琢的包子被一個風華絕代的男人一手一個抱進來,君瑤真心的黑面了,淚奔了。 他們這兩個沒良心的到底明不明白,什麽是引狼入室啊。 “多謝寧公子送他們回來,您看如今天色已晚,為了寧公子的名聲,小婦人也不敢久留,寧公子請回吧。”她快步上前,一把一個把小包子從那個男人懷裏蒿出來,快言快語的下了逐客令。 男人好看的眉毛微挑,隨後一模情緒從眸中迅速劃過,快的難以捕捉。 “無妨,我來陪陪這兩個小家夥,君娘子不必多心。” “我…”她差點沒被噎死,她有什麽好多心的,就沖著他覬覦她的孩子,就不能讓她留下。 只是她的話沒有說完,就被男人貼面而來的俊彥嚇得向後退去,而男人含笑的黑眸和清淡的話語,卻讓她差點怒火狂飆,“還是你想我把他們帶回去?” 君瑤大驚,帶回去?那是絕對不可能的,她的兒女,誰敢打主意,誰就沒活路,話雖然很直白,卻獨獨對他不管用。  ‘, 1, ‘席妖妖‘, 444902, 23, 5353, 21323, 2, 9, 1, 314);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (5, ‘2017-12-27 20:53:02‘, ‘2018-09-05 20:54:05‘, 0, ‘伏魔‘, ‘  富家子弟墨浞因為發現了村子中的秘密,在良心與親情的折磨下,逃到了邊境小城。因為一個香-艷而又恐怖的夢,墨浞經歷了一些詭異的事,從而得知自己的前世與今生的使命。踏上藏地,歷經磨難,克服了自己的心魔,戰勝了...  ‘, 1, ‘一葉style‘, 490000, 526, 7687, 9, 2, 29, 1, 41516);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (6, ‘2017-12-27 20:53:02‘, ‘2018-09-10 00:54:10‘, 0, ‘強愛之獨家擁有‘, ‘  她是名貴千金,他是商界精英。 他們的訂婚禮上,她慘遭背叛。 父親氣血攻心當場昏倒,再也沒有醒來。 自己更被未婚夫床上的女人陷害入獄. 莫仲暉這個讓她又愛又恨的男人幾乎成了她這三年的夢靨。 三年的牢獄,再出來,她一無所有,而他已是江城翻手為雲覆手為雨的神秘角色。  ‘, 1, ‘河清海晏七七‘, 980000, 513, 212342, 36236, 2, 29, 1, 1142314);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (7, ‘2017-12-27 20:53:02‘, ‘2018-09-04 08:54:15‘, 0, ‘滅魔成聖‘, ‘  推薦《尋龍傳》《魂攝天下》 作品屬玄幻異界大陸風格! 可惜頻道不能更改只能在奇幻混! 書友群:292...  ‘, 1, ‘等待瀟湘詩社‘, 345004, 13, 5353, 63263, 2, 29, 1, 2314);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (8, ‘2017-12-27 20:53:03‘, ‘2018-09-03 21:54:27‘, 0, ‘我的合租美女總裁‘, ‘  和美女同居是一件很快樂很享受的事情嗎?看看兵王曹小雷臉上蛋蛋的憂傷,大家還是醒醒吧!他好想好想告訴隔壁房間的劉薇薇,能不能別在客廳裏黃瓜蘸蜂蜜吮來吮去?能不能晚上光溜溜精油按摩的時候拉好窗簾?我生理很正常,腸子很花花,愛好蒼老濕,你丫別逼人太甚!  ‘, 1, ‘薯條‘, 890000, 5435, 3553, 543, 2, 29, 1, 412356);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (9, ‘2017-12-27 20:53:03‘, ‘2017-12-27 20:53:07‘, 0, ‘帶著死神去穿越‘, ‘  一名地球的平凡的少年,因為一場遊戲,獲得死神的傳承,從而穿越到另外一片陌生的大陸,從此開啟了一段傳奇的人生,九天星河,吾乃死神,掌控生死,判奪罪惡,我從沒見過地獄,因為我的名字,便代表地獄,吾乃死神,吾名林天。(PS:單女主,爽文不虐心,主角以殺證道,殺該殺之人,不聖母,略腹黑) 各位書友要是覺得《帶著死神去穿越》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!帶著死神去穿越最新章節,帶著死神去穿越無彈窗,帶著死神去穿越全文閱讀.  ‘, 0, ‘夢侍‘, 233000, 6326, 34252, 523, 2, 29, 1, 135);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (10, ‘2017-12-27 20:53:03‘, ‘2017-12-27 20:53:07‘, 0, ‘亡靈與芯片‘, ‘  一位蟬聯世界冠軍數載的電子競技玩家,在一次比賽中,天降黑色閃電,帶著主角張遠還有一枚地球上最先進的芯片、穿越到了劍與魔法的世界。故事沒有yy,情節發展有跡可尋。沒有種馬,所有愛情起於點滴。更沒有男主虎軀一震、從者雲集,有的只是同生共死積累的友情,這、就是夥伴的意義。 各位書友要是覺得《亡靈與芯片》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!亡靈與芯片最新章節,亡靈與芯片無彈窗,亡靈與芯片全文閱讀.  ‘, 0, ‘冬冬東‘, 2559900, 5, 431, 42135, 2, 29, 1, 4124);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (11, ‘2017-12-27 20:53:03‘, ‘2017-12-27 20:53:08‘, 0, ‘穿越小道人‘, ‘  小李飛刀裏面:“飛刀厲害?我的符咒如何?”仙劍三:“這就是千裏之外取人首級的劍啊!”紅樓夢裏面:“賈寶玉那塊通靈寶玉應該是個靈寶級的,搞來搞來。”三國演義:“撒豆成兵,黃巾力士,《太平天書》,仙術啊,張角,你別跑!”西遊記:“呼,終於到了仙界了。”三體:“二向箔,看我芥子須彌之術。”漫威:“oaa?什麽東西?”小道人轉身,一雙眼看了過來:“呵!執筆者?” 各位書友要是覺得《穿越小道人》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!穿越小道人最新章節,穿越小道人無彈窗,穿越小道人全文閱讀.  ‘, 0, ‘楚騷‘, 455000, 342536, 23545, 53533254, 2, 29, 0, 2431);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (12, ‘2017-12-27 20:53:03‘, ‘2018-09-06 20:58:34‘, 0, ‘威武小娘子‘, ‘  杜筱玖做了個噩夢,夢裏娘被人害死,她也沒得到好下場。一睜眼:成真了!既然有人要趕盡殺絕,就別怪她以牙還牙!誰知為娘報仇意外發現身世:哭,是撿的!好不容易有個對眼的少年:噗,是舅舅!既然她的人生是一個坑連著一個坑,不如鑿成一條河,放開來造作吧! 各位書友要是覺得《威武小娘子》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!威武小娘子最新章節,威武小娘子無彈窗,威武小娘子全文閱讀.  ‘, 1, ‘燕七愛吃魚‘, 2389400, 325, 4325, 324, 2, 29, 0, 213);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (13, ‘2017-12-27 20:53:03‘, ‘2018-09-10 08:45:40‘, 0, ‘冰火破壞神‘, ‘  當巨龍的時代漸漸終結,當術師們在星空下留下無數的財富和傳說,一個個覺醒的少年,便開始踏上他們的征途。  ‘, 1, ‘無罪‘, 23452343, 325324, 52, 555, 2, 26, 0, 412);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (14, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘十年相戀不相知‘, ‘  十年之前,她喜歡他,而他不知道。十年之後,他愛戀她,可她卻不在。一段不摻雜任何其他利益的純情愛戀之旅,究竟戀情的終點在何方?旅途的結局又將怎樣?677577335本書群,各位喜歡本書的不喜歡本書的都可以進來,只要是喜歡看小說的都可以進來聊聊 各位書友要是覺得《十年相戀不相知》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!十年相戀不相知最新章節,十年相戀不相知無彈窗,十年相戀不相知全文閱讀.  ‘, 1, ‘青松不朽‘, 2355421, 4, 5534, 42314, 2, 26, 0, 231);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (15, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘終極教師‘, ‘  朱雀中學校規:   第一條,禁止師生戀!   第二條,禁止師生戀!   第三條,禁止師生戀! ———-    我堅定不移的認為穿白色半透明襯衣,裏面的黑色Bra若隱若現的妹子才是最性感的女神!  ‘, 1, ‘柳下揮‘, 2143214, 523, 5555, 234, 2, 26, 0, 512);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (16, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘邪王絕寵蛇蠍嫡妃‘, ‘  “太子殿下,今日不是你毀婚,而是我毀婚。我花驚羽不嫁渣男,不嫁種豬男,要嫁便嫁寵我上天疼我入地,一生只娶一妻的男人。” 一道聖旨送到太子面前,太子臉色瞬間青黑一片,滿堂賓客皆失色。 她,魍魎組織的金牌制毒師,一朝穿越成了任人欺淩的可憐太子妃,爹不疼妹不愛,還被百般欺淩。 罵我的,惡毒的罵回去。打我的,狠狠的打回去。算計我的,百倍千倍的算計回去。 可是這些渣男渣女一個個趕著送上門讓她收拾,那就別怪她冷血無情,心狠手辣了,弄不死你也要弄殘你。 他,帝國家喻戶曉,聞之變色的嗜血邪王,從無一物入眼,卻強勢霸道的纏上她,眉眼灼灼,邪魅勾引:“我寵你上天,疼你入地,要不要?” 精彩對話一: “羽兒,這一次我真心誠意的向你提親,娶你做我的東宮太子妃,未來燕雲國的皇後娘娘。” “樹不要皮必死無疑,人不要臉天下無敵,太子殿下的臉皮堪稱一絕。” “羽兒,我錯了,你原諒本宮一回吧。” “我看見你這張破臉就想弄殘你,更別提上你這破船了,滾吧。” 精彩對話二: “北幽王殿下,你不是說你是斷袖嗎?”女子氣急敗壞的冷哼。 “不是我說的,是你說的。” “那你說什麽難言之隱,說什麽讓我幫你治,原來是占我的便宜吃我的豆腐敗。” “貌似本王才是比較吃虧的那一個,你吃我的豆腐比我吃你的豆腐多,”俊美霸氣的男子一臉的委屈。 “意思是王爺你吃虧了?”女子微瞇眼上,陰側側的開口。 “不吃虧,只要你對我負責就好。” “憑什麽要我負責。” “本王負責也行,我寵你,我疼你,可好?”  ‘, 1, ‘吳笑笑‘, 3859643, 245632, 4223, 43325, 2, 26, 0, 51251);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (17, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘神魔霸體‘, ‘ 拓拔野逆天重生、身藏神根、手握神符、擁有前世記憶,從小開始修煉最難修煉的煉體法決神魔九變。   神魔九變,每修煉成功一變,不但肉體力量暴增,還多一些神奇的本領。   為了修煉神魔九變,拓拔野走遍無數星宇世界,闖過無數險地絕域,大戰神魔神獸鬼神。   最終,神魔九變大成,成就真正的神魔霸體,無敵諸天萬界。   完本老書《六道仙尊》,五百二十萬字,人品保證!放心收藏!   老雲新書群 229522850  ‘, 1, ‘雲霆飛‘, 2456235, 3532, 5535, 5434, 2, 26, 0, 5154);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (18, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘妖嬈召喚師‘, ‘  名為“妖嬈”的無良少女,被一枚詭異的黑暗魔珠附身,二次穿越異世。 她是被瘋子帶大的小乞丐,萬年不遇的“廢材”負靈根。 受到黑暗魔珠影響而帶有被世人唾棄的暗之力的“邪惡魔女”! 魔雲宗要吞噬她:“你的力量化為我用可好?” 光明陣營要絞殺她:“魔女!哪裏逃!” 強大戰神要勒索她:“用這幻器,你不配!” 光與暗,皆不容她在世間存在! 善與惡,誰才陪她直搗黃龍? “想吞噬我的!把你們的寶藏都拿出來吧!” “想絞殺我的!用輪回鼎把你們都煉成活人藥丹!” “想勒索我的!本姑娘要你看看什麽才是強!盜!王!” 頭帶植系狗血牡丹皇!腳踏赤火烈焰炸毛雞!手持殺人煉丹輪回鼎…… 強契異獸!暗馭魔仆! 召喚!神獸級以下的嘍啰通通讓開! “我以朱雀聖火,革新這個世界!” 且看女主以嫵媚的眼波玩轉世間高手,以腹黑強大的手段狂戰天下群雄! 本文一對一 爆笑+女強+腹黑+成長 小惡搞,真玄幻~ 此文從無斷更記錄,情節精彩,歡迎各路道友熱情跳坑~ ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ ————人物打油詩一首———— ◆她有一個無聊的時候就會點起“滅魔神焰”燒柴玩的瘋爹爹:“妖妖,我餓,我要吃大雞腿!” ◆她有一只人見人不愛,花見花不開的植系戰獸:“我是醜八怪,嗯,妖妖說過我是醜八怪,我的眼,只比星星璀璨那麽一點點,我的臉,只比先天大帝帥那麽一點點,我很自卑,請不要跟我講話。” ◆她有一個錢比命重要,有錢就是娘的少年大管家,如果問他要錢還是要命,他會直接四仰八叉倒在地上:“大爺,奴家一夜,只要一個金幣。” ◆她有一個騷包的紅發追求者:“來的美女們,快留下你們的‘收藏’,不然本公子滾地半月,絕不出關!” O(∩_∩)O~ ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ ----------公告板---------- ◆本文每日更新時間◆ 如無特別通知,每日上午九點左右 5000+ O(∩_∩)O~ ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 推薦玄幻好文《盛世邪凰》 BY:月清樹影 她的傾情付出,終抵不過一句功高蓋主。 親友的倒戈,愛人的背叛,讓她心如死灰。 唯有他依舊站在她身邊,擁她入懷。 “以吾之心,予汝重生,轉世之魂,生生相伴,不離不棄。契!” 浴火重生,再次睜眼,她已入魔! 且看她如何在這荊棘中破開重重迷霧,憑借著自己的努力一步步走向雲端,將曾經的恥辱一同踩在腳下! 再世為人,她——註定光芒萬丈! ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ ----人物認養小店--- 【瘋 子】 由 羽毛 認養 【妖 嬈】 由 公子陌淩 認養 【翦 羽】 由 月清樹影 認養 【白 夜 一】 由 刑冷墨 認養 【瓦 倫】 由 瑕戀 認養 【龍 覺】 由 蓮心紫璃 認養 【醜 醜】 由 吾依糯 認養 【元 方】 由 小殘 認養 【牧野寒江】 由 兔兔 認養 【納 多 多】 由 妍兒 認養 【麒 麟 王】 由 954637819 認養 【烈焰風鷹】 由 夏軒月 認養 【拔 莉 兒】 由 雲影悠然 認養 【青 君】 由 忘情紫雪 認養 【泥 巴 團】 由 媚妝 認養 【赤 火】 由 媚妝 認養 【二 毛】 由 尤兮 認養 【海涅宗師】 由 ysfengy 認養 【姬 天 白】 由xanxus1896 認養 【 炎 】 由 夏軒月 認養 【百 裏 塵】 由 小可愛 認養 【戰 虎】 由 藍 認養 【滅 雲 飛】 由 月依淺雪 認養 【血 十 三】 由 由夜 認養 【六 靈 珠】 由 kanshu001 認養 【囡 囡】 由1003695331認養 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ ----好文推薦--- 我的舊文 《縱紫》 刑冷墨 《異火焚天》 月清樹影 《盛世邪凰》 兔梓 《脫線黑公主》 仙魅 《妖仙魅世》 墨墨 《哥哥是只妖》 即墨血夜 《死神成長史》  ‘, 1, ‘翦羽‘, 1333413, 34, 6543, 678898, 2, 26, 0, 651223);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (19, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘永夜君王‘, ‘  千夜自困苦中崛起,在背叛中墜落。自此一個人,一把槍,行在永夜與黎明之間,卻走出一段傳奇。若永夜註定是他的命運,那他也要成為主宰的王。 各位書友要是覺得《永夜君王》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!永夜君王最新章節,永夜君王無彈窗,永夜君王全文閱讀.  ‘, 1, ‘煙雨江南‘, 235212, 6342, 2343542, 6234, 2, 26, 0, 143212);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (20, ‘2017-12-27 20:53:04‘, ‘2018-09-14 20:54:49‘, 0, ‘雪中悍刀行‘, ‘  有個白狐兒臉,佩雙刀繡冬春雷,要做那天下第一。湖底有白發老魁愛吃葷。缺門牙老仆背劍匣。山上有個騎青牛的年輕師叔祖,不敢下山。有個騎熊貓扛向日葵不太冷的少女殺手。 這個江湖,高人出行要註重出塵裝扮,女俠行走江湖要註意培養人氣,宗派要跟廟堂打好關系。 而主角,則瀟灑帶刀,把江湖捅了一個通透。 各位書友要是覺得《雪中悍刀行》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!雪中悍刀行最新章節,雪中悍刀行無彈窗,雪中悍刀行全文閱讀.  ‘, 1, ‘烽火戲諸侯‘, 35525, 353, 5345, 624, 2, 26, 0, 2314);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (21, ‘2017-12-27 20:53:04‘, ‘2017-12-27 20:53:05‘, 0, ‘地球災變‘, ‘  【2017科幻征文】參賽作品 各位書友要是覺得《地球災變》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!地球災變最新章節,地球災變無彈窗,地球災變全文閱讀.  ‘, 0, ‘石慌‘, 25254, 46236, 335, 5234, 2, 26, 0, 412);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (22, ‘2017-12-27 20:53:05‘, ‘2018-09-14 20:54:49‘, 0, ‘求生欲‘, ‘  這個世界,人並不是唯一的智慧生物,還有這比人更高級的生物,他們看待人的態度如何?老公,我要你殺了所有想傷害我的人。“她的野心太大,不是幫她,而是害她。”“她的一切,我負責。” 各位書友要是覺得《求生欲》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!求生欲最新章節,求生欲無彈窗,求生欲全文閱讀.  ‘, 1, ‘華爾街扛把子‘, 56135, 6353, 5666, 2345, 2, 26, 0, 51243);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (23, ‘2017-12-27 20:53:05‘, ‘2017-12-27 20:53:06‘, 0, ‘都市無限取錢系統‘, ‘  自從得到無限取錢系統之後,葉凡的人生軌跡從此改變…… 每天早上醒來,不用擔心沒錢花,而應該擔心這麽多錢,要怎麽花…… 只要是任何錢能夠解決的問題,都不是問題,然而為了得到這些錢,不得不按照系統提示,完成一系列的任務。 任務失敗的懲罰,將會是身體消失十分之一! 各位書友要是覺得《都市無限取錢系統》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!都市無限取錢系統最新章節,都市無限取錢系統無彈窗,都市無限取錢系統全文閱讀.  ‘, 0, ‘飛天入地‘, 651341, 434, 5334, 234, 2, 26, 0, 215);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (24, ‘2017-12-27 20:53:05‘, ‘2017-12-27 20:53:07‘, 0, ‘荒島饑荒‘, ‘  威珥穿越到了一片海灘上,除了腦海中的饑荒制作系統,身上別無長物。祥和的島嶼上有著潛藏黑暗和秘密,為了生存,威珥不得不卷入其中。威珥開始尋找回家的路。致命的黑暗,神秘的陰影,聖潔的星靈。 威珥會回去嗎? 新書推薦:、白銀霸主 、、大王饒命 、 各位書友要是覺得《荒島饑荒》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!荒島饑荒最新章節,荒島饑荒無彈窗,荒島饑荒全文閱讀.  ‘, 0, ‘凝心之火‘, 521333, 53534, 2436, 2345, 1, 26, 0, 415126);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (25, ‘2017-12-27 20:53:05‘, ‘2018-09-14 20:54:49‘, 0, ‘官道之步步高升‘, ‘  青原市國資委普通科員楚天舒,因撞破辦公室主任的好事而面臨被發配的厄運,隨後卻經歷了一系列匪夷所思的奇...  ‘, 1, ‘北岸‘, 551612, 234632, 5243, 3245, 1, 26, 0, 124);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (26, ‘2017-12-27 20:53:05‘, ‘2018-09-14 20:54:49‘, 0, ‘傲神刀尊‘, ‘ 一顆桀驁的心,一把不羈的刀,一個傲視仙神的不朽傳奇。你是誰?別問我是誰,請與我一戰!——————QQ群:51765913  ‘, 1, ‘項華‘, 351314, 435, 45, 2534, 1, 26, 0, 6143);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (27, ‘2017-12-27 20:53:05‘, ‘2018-09-14 20:54:49‘, 0, ‘侯門醫女,庶手馭夫‘, ‘   ‘, 1, ‘滄海明珠‘, 251234, 243544, 3425, 35235, 1, 26, 0, 421342314);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (28, ‘2017-12-27 20:53:06‘, ‘2017-12-27 20:53:13‘, 0, ‘掠奪諸天萬界‘, ‘  龍玄擁有掠奪萬界的玉佩,以諸天萬界的資源成無敵大主宰。武俠世界:天龍,笑傲,射雕,神雕,風雲……仙俠世界:仙劍,花千骨,誅仙……動漫世界:火影,超神學院……小說世界:完美世界,鬥破,遮天,鬥羅……電影世界:西遊降魔世界,僵屍先生,大話西遊……神話世界:西遊記,封神榜,洪荒…… 各位書友要是覺得《掠奪諸天萬界》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!掠奪諸天萬界最新章節,掠奪諸天萬界無彈窗,掠奪諸天萬界全文閱讀.  ‘, 0, ‘我原非凡‘, 521222, 24325, 2345, 666, 1, 26, 0, 411235);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (29, ‘2017-12-27 20:53:06‘, ‘2017-12-27 20:53:07‘, 0, ‘火影之最強蟲師‘, ‘  激萌的蘿莉,熱血的少年,為打破次元壁一往無前! 各位書友要是覺得《火影之最強蟲師》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!火影之最強蟲師最新章節,火影之最強蟲師無彈窗,火影之最強蟲師全文閱讀.  ‘, 0, ‘來一刀‘, 544111, 325, 3434525, 623534, 1, 25, 0, 51244);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (30, ‘2017-12-27 20:53:07‘, ‘2018-09-14 20:54:49‘, 0, ‘陸戰兵王‘, ‘ 少年從新兵蛋子一步步成長,磨練成一把隱去的刀鋒,時刻為著夢想而奮鬥,經歷無盡的艱難困阻,最終了為真相而戰鬥!!   我的書友交流群:241911158,我的QQ:807457338  ‘, 1, ‘可可比爾‘, 355555, 45346, 543, 5234, 1, 25, 0, 51261);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (31, ‘2017-12-27 20:53:07‘, ‘2017-12-27 20:53:12‘, 0, ‘變身之把反派養歪了腫麽破‘, ‘  激萌的蘿莉,熱血的少年,為打破次元壁一往無前! 各位書友要是覺得《變身之把反派養歪了腫麽破》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!變身之把反派養歪了腫麽破最新章節,變身之把反派養歪了腫麽破無彈窗,變身之把反派養歪了腫麽破全文閱讀.  ‘, 0, ‘呆萌小總‘, 222235, 364326, 25342, 632, 1, 25, 0, 521341);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (32, ‘2017-12-27 20:53:07‘, ‘2018-09-14 20:54:49‘, 0, ‘唯願情深不負婚‘, ‘  渣男和小三聯手設計,讓她被扣上不幹凈的罵名,婆婆暴打,還逼著她凈身出戶。她沒了家,也失去了腹中剛成型的孩子。走投無路,為了復仇,只能選擇爬上渣男對手的床。他是天之驕子,她本以為鏡花水月後再無交集,卻.. 各位書友要是覺得《唯願情深不負婚》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!唯願情深不負婚最新章節,唯願情深不負婚無彈窗,唯願情深不負婚全文閱讀.  ‘, 1, ‘舊城雪‘, 5123566, 534, 234562, 636, 1, 25, 0, 42156);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (33, ‘2017-12-27 20:53:07‘, ‘2017-12-27 20:53:08‘, 0, ‘我的絕色美女特工老婆‘, ‘  【火爆新書】地下世界的王者神秘歸隱,就在各界大佬都松了一口氣的時候,殊不知,遠在傭兵禁地的華夏,掀起了一場前所未有的波瀾! 各位書友要是覺得《我的絕色美女特工老婆》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!我的絕色美女特工老婆最新章節,我的絕色美女特工老婆無彈窗,我的絕色美女特工老婆全文閱讀.  ‘, 0, ‘穌牧魚‘, 351235, 2435, 45325, 5353, 1, 25, 0, 42);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (34, ‘2017-12-27 20:53:07‘, ‘2017-12-27 20:53:10‘, 0, ‘北雄‘, ‘  本書簡介: 大業六年,強盛的大隋迎來了轉折點。 這一年,隋帝楊廣開始準備征伐高麗,順勢拉開了隋末戰亂的序幕。 接下來的幾年間,天下板蕩,群雄並起。 十八路反王,六十四路煙塵,草莽豪傑,門閥世家,紛紛粉墨登場,逐鹿天下。 北方突厥汗國,雄踞漠北,虎視眈眈。 內憂外患之下,一個強大的帝國,最終轟然崩塌。 這是個最具傳奇色彩的時代,也同樣是中原大地最為混亂黑暗的時節。 就在這樣一個時候,一個來歷奇異的邊塞少年,帶著草原的風寒,和一股滿不在乎的勁頭,一頭紮進了這亂世漩渦之中。 各位書友要是覺得《北雄》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!北雄最新章節,北雄無彈窗,北雄全文閱讀.  ‘, 0, ‘河邊草‘, 5235132, 523, 3425, 35, 1, 25, 0, 143165);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (35, ‘2017-12-27 20:53:07‘, ‘2017-12-27 20:53:10‘, 0, ‘異世界的戰鬥奶媽‘, ‘  曾經超人氣網絡遊戲“異世界,”曹玲敏有三個角色創下了傳說記錄。狂戰士紅昭願,打出了“異世界”最強一擊的爆發傷害;武聖朝朝暮暮,連續三次賽季拿下競技場SOLO賽冠軍;艦炮掌控者紅繩結發,帶領公會部下拿下七次世界級BOSS首殺;在其遊戲終止營運的那一天,曹玲敏想起自己唯獨沒有玩過奶媽,結果等到營運時間結束,角色卻無法退出遊戲,擁有童顏貧乳外表的曹玲敏展開了前所未有的第四次傳說…… 各位書友要是覺得《異世界的戰鬥奶媽》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!異世界的戰鬥奶媽最新章節,異世界的戰鬥奶媽無彈窗,異世界的戰鬥奶媽全文閱讀.  ‘, 0, ‘夏伊水心‘, 5661233, 26, 35, 3462, 1, 24, 0, 4112);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (36, ‘2017-12-27 20:53:07‘, ‘2018-09-14 20:54:49‘, 0, ‘武極陰陽‘, ‘  天地始分陰陽,亙古平衡。有人企圖以外力主宰五行大陸,顛覆世界!一個身具花瓶體質的少年,無形中成了對抗強大外力的主要人選。十二歲起步,能否擔起重任?莫名魂力、五行之子、紅顏知己、陰陽互修……這裏是武動乾坤的精彩世界!P:新人新書,更新穩定。書友群249540907。請多支持!  ‘, 1, ‘楚松源‘, 455432, 345, 3, 23634, 1, 24, 1, 4145);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (37, ‘2017-12-27 20:53:08‘, ‘2017-12-27 20:53:09‘, 0, ‘蒼靈主宰‘, ‘  萬靈世界,天地無垠,宗族千萬,強人輩出!蒼穹之下,表面群雄割據,內裏暗流湧動,只待大浪淘沙,伺機乘風而上……平凡小子韓燁,習神秘功法橫空出世,踏復仇之路,入修煉征途,掀起不可阻擋之洪流!自此,山河日月變…… 各位書友要是覺得《蒼靈主宰》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!蒼靈主宰最新章節,蒼靈主宰無彈窗,蒼靈主宰全文閱讀.  ‘, 0, ‘人生好夢‘, 561355, 6666, 62, 54325, 1, 24, 1, 2143);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (38, ‘2017-12-27 20:53:08‘, ‘2017-12-27 20:53:11‘, 0, ‘定位尋寶系統‘, ‘  別人用聊天軟件泡妞把妹子,輕松一下附近人就是美女如雲...可是我的附近人裏,沒有什麽美女直播...搜索一下附近人,精確定位出來的...不是靈丹妙藥,就是古董文物...上到天材地寶,下到補腎壯陽...都只因腦海之中有著一個系統,可以看到別人看不到的搜索信息...別說我身上帶著BUG,我真的就是想泡妹子而已...設定好自己的人生,走出一個不一樣的人生巔峰... 各位書友要是覺得《定位尋寶系統》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!定位尋寶系統最新章節,定位尋寶系統無彈窗,定位尋寶系統全文閱讀.  ‘, 0, ‘沐雪沈風‘, 123344, 5325, 266, 3425, 1, 24, 1, 12342);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (39, ‘2017-12-27 20:53:08‘, ‘2018-09-14 20:54:49‘, 0, ‘不敗戰神‘, ‘  少年,就是要在陽光下揮灑汗水! 少年,就是要不斷戰鬥,然後勝利! 無盡天路之旅,無盡征途,見證少年的熱血和傳奇! 心懷野望,烈血如燃! 永遠少年,不敗戰神! 各位書友要是覺得《不敗戰神》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!  ‘, 1, ‘方想‘, 54633, 2534, 3262, 63263, 1, 24, 1, 2521);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (40, ‘2017-12-27 20:53:08‘, ‘2018-09-14 20:54:49‘, 0, ‘至尊神帝‘, ‘  至尊神帝的簡介:【重磅推薦低調哥完本小說《至尊龍帝》與《逍遙狂少》】一個從小被人嘲笑為廢物的少年,在一次危險的狩獵中,遭人打斷四肢,石沈深潭,不料卻因禍得福,收了一名上古仙人的殘魂為仆。在仙仆的激勵下,他憑借強悍的意誌力與不懈的努力,在莊中比武大會上一鳴驚人,徹底告別了廢物的稱號,之後以武入道,沖破了體內堵塞的經脈,擁有了五行元力的超強修煉天賦。從此,葉天決心傾畢生之力,逆天改命,去追尋修煉的極致境界。一路殺仙弒神,彪悍的修煉之路無需解釋。  ‘, 1, ‘低調哥‘, 432513, 4532, 32234, 3254, 1, 22, 1, 51);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (41, ‘2017-12-27 20:53:08‘, ‘2018-09-14 20:54:49‘, 0, ‘紫陽‘, ‘  紫陽  ‘, 1, ‘風禦九秋‘, 5513243, 276236, 32445, 6666, 1, 22, 1, 245);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (42, ‘2017-12-27 20:53:08‘, ‘2017-12-27 20:53:10‘, 0, ‘劉備的日常‘, ‘  【歷史新紀元腦洞風暴征文】參賽作品 各位書友要是覺得《劉備的日常》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!劉備的日常最新章節,劉備的日常無彈窗,劉備的日常全文閱讀.  ‘, 0, ‘熏香如風‘, 521111, 6234, 264534, 3425, 1, 22, 1, 6124);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (43, ‘2017-12-27 20:53:08‘, ‘2017-12-27 20:53:12‘, 0, ‘狂武仙皇‘, ‘  我為螻蟻,世人可欺,世人為螻蟻,我可欺世人。一息上存,戰鬥不止。即便是死,也要死的驚天動地。 各位書友要是覺得《狂武仙皇》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!狂武仙皇最新章節,狂武仙皇無彈窗,狂武仙皇全文閱讀.  ‘, 0, ‘秋風若水‘, 356623, 626, 62, 23466, 1, 22, 1, 5124);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (44, ‘2017-12-27 20:53:08‘, ‘2018-09-14 20:54:49‘, 0, ‘新刺客列傳‘, ‘  躲在陰暗的角落,冷靜思考,仔細觀察周圍的一切動向,更要小心同行來搶生意。某一刻,目標出現,迎面微笑走過。刺出一劍! 各位書友要是覺得《新刺客列傳》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!新刺客列傳最新章節,新刺客列傳無彈窗,新刺客列傳全文閱讀.  ‘, 1, ‘世塵風‘, 351334, 5234, 2345, 3425, 1, 22, 1, 42315);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (45, ‘2017-12-27 20:53:08‘, ‘2018-09-14 20:54:49‘, 0, ‘不朽神瞳‘, ‘  這是一個神秘的世界,這裏有最強的武道,最神秘的瞳術!八世歷,九為尊!一代太古大能,歷經八世磨礪而歸,他想不明白,這一世為什麽那麽多法寶找他認主,為什麽會有那麽多美女來給他暖床,但是他知道,他將擁美並踩著敵人的屍體,走上至尊之路!蕭尋:“這一世,我要讓所有人都在我的腳下顫抖!絕色美女們,來陪哥哥快樂雙修。”  ‘, 1, ‘風舞天下‘, 566666, 525, 25342, 45326, 1, 22, 1, 51261);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (46, ‘2017-12-27 20:53:09‘, ‘2017-12-27 20:53:09‘, 0, ‘花都小仙醫‘, ‘  小仙醫攜造化寶塔,縱橫都市,寶塔在手,美女我有!賺最多的錢,踩最牛的人,娶最美的老婆,專治各種不服。 各位書友要是覺得《花都小仙醫》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!花都小仙醫最新章節,花都小仙醫無彈窗,花都小仙醫全文閱讀.  ‘, 0, ‘十三刀‘, 542135, 2642, 3245, 26346, 1, 22, 1, 2143);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (47, ‘2017-12-27 20:53:09‘, ‘2018-09-14 20:54:49‘, 0, ‘女神總裁愛上我‘, ‘  身懷異能卻甘於平淡的酒店小保安,與美若天仙卻冷若冰霜的總裁有了交集,她主動求婚他卻說不,領證當晚陪伴他的居然是另個女人。從此,各色美女投懷送抱,要命的是每個女人都帶著一堆甩不掉的麻煩……  ‘, 1, ‘憤怒小鳥‘, 111111, 62624, 52352, 6234, 1, 22, 1, 23415);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (48, ‘2017-12-27 20:53:09‘, ‘2017-12-27 20:53:18‘, 0, ‘萌寶小神龍:妖皇盛寵不良妃‘, ‘  震驚!絕美少女棺材產子,兒子居然是個頭上有犄角的妖怪。凰清妤捶地大哭。奇怪!為什麽她都有孩子了,還有男人糾纏不休啊?凰清妤哭笑不得。某天,妖孽男子將她咚在樹上,“撩完就想跑,你要對我負責!”她勾唇一笑,將他反壓,“抱歉,我更喜歡在上面。”作為一代醫毒雙絕的殺手女王,說她是廢物?放屁,我來告訴你什麽是絕世天才!只是萬萬沒想到惹上了一個比她更絕世更妖孽的男人,從此你追我逃,你殺人我遞刀,一起稱(huo)霸(hai)天下。 各位書友要是覺得《萌寶小神龍:妖皇盛寵不良妃》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!萌寶小神龍:妖皇盛寵不良妃最新章節,萌寶小神龍:妖皇盛寵不良妃無彈窗,萌寶小神龍:妖皇盛寵不良妃全文閱讀.  ‘, 0, ‘姒糖‘, 353251, 252, 24, 26345, 1, 22, 1, 4126);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (49, ‘2017-12-27 20:53:09‘, ‘2018-09-14 20:54:49‘, 0, ‘X處首席特工皇妃‘, ‘   ‘, 1, ‘逐雲之巔‘, 3521434, 262345, 2543, 6236, 1, 22, 1, 416213);
INSERT INTO `book`(`id`, `create_time`, `update_time`, `status`, `name`, `intro`, `icon`, `author`, `words`, `collection`, `goods`, `click`, `site`, `sort`, `vip`, `popularity`) VALUES (50, ‘2017-12-27 20:53:09‘, ‘2017-12-27 20:53:10‘, 0, ‘九轉聖靈決‘, ‘  五百年前,他心愛的女子,竟爬上了自己同父異母哥哥的床。毒酒穿腸,一代天驕,就此隕落。五百年後,他重生歸來。卻發現毒害他的狗男女。已統領七海八州。號稱“鳳後”“龍帝”威震八方。當龍吟劍出,雷霆破空,震破蒼穹,山河破碎,星辰隕落。“待我重修30年,必將踏破星河,血洗金鑾殿!”……… 各位書友要是覺得《九轉聖靈決》還不錯的話請不要忘記向您QQ群和微博裏的朋友推薦哦!九轉聖靈決最新章節,九轉聖靈決無彈窗,九轉聖靈決全文閱讀.  ‘, 0, ‘雨墨風起‘, 511333, 2534, 2345, 6234524, 1, NULL, 1, 51262);

創建索引

使用 postman 等工具創建 es 索引,其中使用到了 ik 以及 pinyin 分詞器,具體配置可以參考我前面的文章。

PUT: http://192.168.200.192:9200/novel

{
    "settings":{
        "number_of_shards":5,
        "number_of_replicas":1,
        "analysis":{
            "analyzer":{
                "pinyin_analyzer":{
                    "tokenizer":"ik_smart",
                    "filter":[
                        "full_pinyin_no_space",
                        "full_pinyin_with_space",
                        "first_letter_pinyin"
                    ]
                }
            },
            "filter":{
                "full_pinyin_no_space":{
                    "type":"pinyin",
                    "first_letter":"none",
                    "padding_char":""
                },
                "full_pinyin_with_space":{
                    "type":"pinyin",
                    "first_letter":"none",
                    "padding_char":" "
                },
                "first_letter_pinyin":{
                    "type":"pinyin",
                    "first_letter":"only",
                    "padding_char":""
                }
            }
        }
    },
    "mappings":{
        "book":{
            "properties":{
                "id":{
                    "type":"integer"
                },
                "words":{
                    "type":"integer"
                },
                "intro":{
                    "analyzer":"ik_smart",
                    "search_analyzer":"ik_smart",
                    "type":"text"
                },
                "name":{
                    "analyzer":"pinyin_analyzer",
                    "search_analyzer":"pinyin_analyzer",
                    "type":"text"
                },
                "sort":{
                    "type":"integer"
                },
                "updatetime":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH:mm:ss"
                },
                "vip":{
                    "type":"boolean"
                },
                "site":{
                    "type":"integer"
                },
                "author":{
                    "analyzer":"pinyin_analyzer",
                    "search_analyzer":"pinyin_analyzer",
                    "type":"text"
                },
                "collection":{
                    "type":"integer"
                },
                "click":{
                    "type":"integer"
                },
                "popularity":{
                    "type":"integer"
                },
                "goods":{
                    "type":"integer"
                },
                "status":{
                    "type":"integer"
                }
            }
        }
    }
}

註意,這裏索引的所有字段都是小寫的,不要包含大寫,否則後續會出現問題。
索引創建好了之後,安裝 logstash。

安裝 logstash

Tips: 因為 logstash 啟動的時候,會占用較高的 CPU ,建議不要放在 es 集群的服務器上,最好換一臺服務器進行安裝。

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.tar.gz

tar -xvf logstash-6.4.0.tar.gz

因為建立索引需要使用到 logstash-input-jdbc,所以先配置這個插件,這個插件在 logstash 5.0 之後就默認自帶了,無需再次安裝

配置 logstash同步之全量同步

## 進入 logstash 根目錄
cd /usr/local/es/logstash-6.4.0

## 創建存放 logstash-input-jdbc 相關配置以及依賴的目錄
mkdir logstash-input-jdbc

cd logstash-input-jdbc

## 創建兩個目錄
mkdir lib & mkdir conf

## 下載 jdbc 所需的 mysql 驅動到 lib 目錄
wget http://central.maven.org/maven2/mysql/mysql-connector-java/6.0.6/mysql-connector-java-6.0.6.jar -P lib/

## 進入 conf/ 目錄
cd conf/

## 創建兩個文件,一個是 jdbc 的 sql,另一個是 logstash-input-jdbc 的配置文件

vim mysql2es.sql

首先編寫 sql, 構造索引所需的數據。由於是第一次同步到 es,所以進行全量同步,不過這裏的全量也並非是一次性把查出庫內所有數據,而是偽全量的增量同步。

mysql2es.sql 內容為

SELECT
    `id`,
    IFNULL( `update_time`, ‘1970-01-01 08:00:00‘ ) AS `updatetime`,
    `status`,
    `name`,
    IFNULL( `intro`, ‘‘ ) AS `intro`,
    `author`,
    `words`,
    `collection`,
    `goods`,
    `click`,
    `site`,
    `sort`,
    `vip`,
    `popularity` 
FROM
    book 
WHERE
    id >= :sql_last_value and id < :sql_last_value + 11

註意為了避免一次性查詢,對數據庫造成太大壓力,因此這裏使用了增量的方式來完成初始化同步到 es,這裏的 :sql_last_value 是 logstash 上一步同步的最後的值,這裏為 id,也可以是時間。因為演示用的測試數據較少,所以每次只同步了 10 條記錄,如果實際使用,一次同步 1000 條比較合適,即 :sql_last_value + 1001

sql 查詢出的字段名要與索引字段名稱對應上,否則無法映射同步。

這裏的 mysql2es.sql 將在 logstash-input-jdbc 中用到,創建文件 mysql2es.conf

vim mysql2es.conf

mysql2es.conf 的內容是:

input {
    stdin {
    }
    jdbc {
      # 數據庫
      jdbc_connection_string => "jdbc:mysql://192.168.199.192:3306/novel"
      # 用戶名密碼
      jdbc_user => "root"
      jdbc_password => "123456"
      # jar包的位置
      jdbc_driver_library => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/lib/mysql-connector-java-6.0.6.jar"
      # mysql的Driver
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      # 讀取這個sql
      statement_filepath => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/mysql2es.sql"
      # 指定時區
      jdbc_default_timezone => "Asia/Shanghai"
      # 每分鐘執行一次同步(分 時 天 月 年),比如每十分鐘(*/10 * * * *)
      schedule => "* * * * *"
      #索引的類型
      type => "book"

      use_column_value => "true"
      #tracking_column_type: 遞增字段的類型,numeric 表示數值類型, timestamp 表示時間戳類型
      tracking_column_type => "numeric"
      # 遞增字段
      tracking_column => "id"
      # 保存每次同步時遞增字段的最後一個值到這個文件
      last_run_metadata_path => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/full_sync"
    }
}

filter {

    json {
        source => "message"
        remove_field => ["message"]
    }
}

output {
    elasticsearch {
        hosts => "192.168.199.192:9200"
        # index 索引名
        index => "novel"
        # 需要關聯的數據庫中有有一個id字段,對應索引的id號
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
}

啟動logstash同步

/usr/local/es/logstash-6.4.0/bin/logstash -f /usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/mysql2es.conf

啟動後稍等一會兒,如果配置正確會打印出執行的 sql:

SELECT `id`,IFNULL(`update_time`,‘1970-01-01 08:00:00‘) AS `updatetime`,`status`,`name`,IFNULL(`intro`,‘‘) AS `intro`,`author`,`words`,`collection`,`goods`,`click`,`site`,`sort`,`vip`,`popularity` FROM book WHERE id> 0 AND id< 0+11

查看 ElasticSearchHead 控制臺,發現也已經有了 10 條索引數據。
由於每次同步 10 條,每分鐘同步一次,5分鐘後,測試的 50條記錄也已經全部被同步到 es 裏了。

ctrl + c 停止同步進程,查看文件

cat /usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/full_sync

文件中的數字正是上次最後同步的 id

logstash增量同步

根據 id 進行同步,如果對數據庫中已被同步到 es 的數據進行了修改,這個數據也不會被同步更新到 es 當中去。

根據 id 每次同步 1000 條,這種同步方式也只適合第一次全量進行初始化時候使用,後續增量同步最好根據時間戳的方式完成。

修改 mysql2es.sql

SELECT
    `id`,
    IFNULL( `update_time`, ‘1970-01-01 08:00:00‘ ) AS `updatetime`,
    `status`,
    `name`,
    IFNULL( `intro`, ‘‘ ) AS `intro`,
    `author`,
    `words`,
    `collection`,
    `goods`,
    `click`,
    `site`,
    `sort`,
    `vip`,
    `popularity` 
FROM
    book 
WHERE
    update_time >= convert_tz(:sql_last_value, ‘+00:00‘,‘-08:00‘)
    order by update_time asc

註意這裏使用到了 convert_tz 這個函數,原因是 logstash 會在同步時在最後同步時間增加 8 個小時,因此需要使用函數,減去 8 個小時才是正確的時間。 因為logstash 記錄最後一次同步的值是最後一條記錄的,所以,最好根據 update_time 進行升序排序,即取的值是離現在最近的時間。

修改 mysql2es.conf

input {
    stdin {
    }
    jdbc {
      # 數據庫
      jdbc_connection_string => "jdbc:mysql://192.168.199.192:3306/novel"
      # 用戶名密碼
      jdbc_user => "root"
      jdbc_password => "123456"
      # jar包的位置
      jdbc_driver_library => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/lib/mysql-connector-java-6.0.6.jar"
      # mysql的Driver
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      # 讀取這個sql
      statement_filepath => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/mysql2es.sql"
      # 指定時區
      jdbc_default_timezone => "Asia/Shanghai"
      # 每分鐘
      schedule => "* * * * *"
      #索引的類型
      type => "book"

      use_column_value => "true"
      #tracking_column_type: 遞增字段的類型,numeric 表示數值類型, timestamp 表示時間戳類型
      tracking_column_type => "timestamp"
      # 遞增字段
      tracking_column => "updatetime"
      # 保存每次同步時遞增字段的最後一個值到這個文件
      last_run_metadata_path => "/usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/incr_sync"
    }
}

filter {

    json {
        source => "message"
        remove_field => ["message"]
    }
}

output {
    elasticsearch {
        hosts => "192.168.199.192:9200"
        # index 索引名
        index => "novel"
        # 需要關聯的數據庫中有有一個id字段,對應索引的id號
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
}

修改增量的字段為 updatetime,且字段類型設置為 timestamp,
指定記錄最後同步時間的文件為 incr_sync ,同時在 conf 目錄下創建這個文件 incr_sync,設置一下初始值,即同步大於設置這個值的數據。

cd /usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/
vim incr_conf

# 文件內容如下,這裏具體時間根據你的情況自行修改

--- !ruby/object:DateTime ‘2018-09-04 16:47:14.000000000 Z‘


## 註意修改只需要改 2018-09-04 16:47:14 這一部分,其他地方就不要改,改了格式可能會不對。

保存退出,執行同步命令

/usr/local/es/logstash-6.4.0/bin/logstash -f /usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/mysql2es.conf

過一會兒,正常輸出 sql 語句

SELECT `id`,IFNULL(`update_time`,‘1970-01-01 08:00:00‘) AS `updatetime`,`status`,`name`,IFNULL(`intro`,‘‘) AS `intro`,`author`,`words`,`collection`,`goods`,`click`,`site`,`sort`,`vip`,`popularity` FROM book WHERE update_time> ‘2018-09-04 16:47:14‘ order by update_time asc

incr_sync 文件中的值,會因為每次同步同步取的是最後一條記錄的值,所以最好對時間進行排序

配置文件中,當在input的jdbc下,增加type屬性時,會導致該索引下增加type字段。所以sql查詢出的字段不要用type,如果有,as成其他的名字,不然的話,這裏判斷會有異常

logstash 同步後臺運行

上面的運行命令如果推出終端或者按下 ctrl + c,同步就會終止,所以我們要讓同步任務在後臺運行。

nouhup /usr/local/es/logstash-6.4.0/bin/logstash -f /usr/local/es/logstash-6.4.0/logstash-input-jdbc/conf/mysql2es.conf &

使用 nohup 和 * 號將要執行的語句包裹起來,就可以實現後臺運行了,同時會在當前執行命令的目錄生成一個 nohup.out 的文件,這裏 logstash 的運行日誌會被寫入到這個文件當中。

tail -fn300 nohup.out

有疑問?

歡迎來信,給我寫信

參考

  • https://www.cnblogs.com/licongyu/p/5383334.html
  • https://blog.csdn.net/laoyang360/article/details/51747266
  • https://segmentfault.com/a/1190000011784259
  • https://wenchao.ren/archives/393#8
  • http://www.cnblogs.com/xuwenjin/p/8989043.html

和我一起打造個簡單搜索之Logstash實時同步建立索引