整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          手把手教你建立私人數據檢索庫(二)

          手把手教你建立私人數據檢索庫(二)

          創:青空醬合天智匯

          原創投稿活動:

          http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/Nw2VDyvCpPt_GG5YKTQuUQ

          ---你可曾聽過社工庫的傳說?

          聲明:本文介紹的安全工具僅用于滲透測試及安全教學使用,禁止任何非法用途

          0x00 序言:

          咳咳,這里是青空醬。本次為大家帶來《手把手教你建立私人數據檢索庫》系列第二講之數據的清洗導入與配置。對之前教程還不熟悉的讀者可以查看上期文章以流暢的食用本文。

          往期文章回顧

          :http://mp.weixin.qq.com/s?__biz=MjM5MTYxNjQxOA==&mid=2652851659&idx=1&sn=7e2f574ab9dbbd3c2ae58b9c81e986d4&chksm=bd5931068a2eb810113d07da86e8e391caa60ad4e7171f2d522a9501d2698dbc6b7f71d9c0af&scene=21#wechat_redirect

          言歸正傳,本講分為幾個以下部分:

          1. sphinx相關配置文件的介紹講解
          2. 數據的導入,清洗與維護
          3. 索引生成實操及測試索引

          請各位系好安全帶,青空醬要發車啦!

          最后還請大家持續關注本教程(畢竟我也不是什么鴿子)

          0x01 Sphinx配置講解:

          上回我們講到了sphinx的安裝配置,接下來將在這里講解下相關配置文件。

          首先,使用sphinx查詢數據的流程如下:

          ?

          1. Sphinx事先生成數據庫的全文索引(將索引與數據的id一一對應)
          2. 后端向Sphinx監聽服務發送查詢關鍵字獲取相關索引記錄,即對應的數據庫數據id
          3. 后端取得數據id后再向數據庫發送查詢請求獲取信息
          4. 后端將信息返回前端渲染

          大致流程介紹完了相比大家對于整個查詢過程有了更深一層的理解,也方便進行進一步的講解。

          先放個官方的查詢模板方便講解,隨后放本次搭建所用的模板。

          索引模板:

          source sphinx

          {

          type=mysql

          sql_host=192.168.1.1

          sql_user=test 數據源連接信息

          sql_pass=test

          sql_db=sphinx //數據庫名字

          sql_port=3306 //數據庫庫端口號

          sql_query_pre=SET NAMES utf8 //設置連接字符集

          sql_query=SELECT id, title, post_id, user_id,UNIX_TIMESTAMP(dated) as dateline \

          FROM test //最重要的部分嗷

          sql_attr_uint=post_id

          sql_attr_uint=user_id

          sql_attr_timestamp=dateline 屬性字段

          }

          index sphinx_idx //索引名

          {

          source=sphinx //這里與上面的source對應

          path=/usr/local/coreseek-3.2.14/ var/data/sphinx //索引要存放的位置

          docinfo=extern

          charset_type=zh_cn.utf-8

          charset_dictpath=/usr/local/coreseek-3.2.14/dict/ //字符集文件存放位置

          html_strip=0

          }

          indexer

          {

          mem_limit=512M //用來構建索引的索引器運行所占用的內存

          }

          searchd

          {

          port=9351 //不要被占用哦 netstat -anop|grep 9351 查詢服務監聽的端口

          log=/usr/local/coreseek-3.2.14/ var/log/search_sphinx.log

          query_log=/usr/local/coreseek-3.2.14/ var/log/query_sphinx.log //相關日志的存放位置

          read_timeout=5

          max_children=30

          pid_file=/usr/local/coreseek-3.2.14/ var/searchd_sphinx.pid

          max_matches=10000 //返回的最大數據量

          seamless_rotate=1

          preopen_indexes=0

          unlink_old=1

          }

          ......

          有點懵? 先介紹這幾個概念:

          • source:數據源,數據是從什么地方來的。如Postgresql或Mysql
          • index:索引,當有數據源之后,從數據源處構建索引。索引實際上就是相當于一個 緩存字典。有了整本字典內容以后,才會有字典檢索。
          • searchd:提供搜索查詢服務進程。它一般是以deamon的形式運行在后臺的。
          • indexer:構建索引的服務。當要重新構建索引的時候,就是調用indexer這個服務。
          • attr:屬性,屬性是存在索引中的,它不進行全文索引,但是可以用于過濾和排序。

          Sphinx集輕量化與高拓展性與一體,相關配置可研究的東西很多,這里貼一下配置文件全解析,有興趣的讀者下去自行研究。

          https://www.cnblogs.com/yjf512/p/3598332.html

          貼下我自己的配置:

          source data1

          {

          type=mysql

          sql_host=localhost

          sql_user=user

          sql_pass=password

          sql_db=sgk

          sql_port=3306

          sql_query_pre=SET NAMES utf8

          sql_query=SELECT `id`,`username`, `email` FROM data1 #sql_query第一列id需為整數,username、password、email等作為字符串/文本字段,被全文索引

          sql_attr_uint=id #從SQL讀取到的值必須為整數

          #sql_field_string=username

          #sql_field_string=password

          #sql_field_string=email

          #sql_attr_timestamp=date_added #從SQL讀取到的值必須為整數,作為時間屬性

          sql_query_info=SELECT `id`, `username`, `password`, `email`, `salt` FROM data1 WHERE id=$id #命令行查詢時,從數據庫讀取原始數據信息

          }

          #index定義

          index data1

          {

          source=data1 #對應的source名稱

          path=/usr/local/sphinx/var/data/data1 #請修改為實際使用的絕對路徑,例如:/usr/local/sphinx/var/...

          docinfo=extern

          mlock=0

          morphology=none

          min_word_len=1

          ondisk_dict=1 #索引不載入內存而是保存在硬盤上

          #這個選項很重要 一定要把索引保存在硬盤,否則索引出的海量數據會充滿整個內存

          html_strip=1

          }

          #全局index定義

          indexer

          {

          mem_limit=754M

          }

          #searchd服務定義

          searchd

          {

          listen=9312

          read_timeout=5

          max_children=30

          max_matches=1000

          seamless_rotate=0

          preopen_indexes=0

          unlink_old=1

          pid_file=/usr/local/sphinx/var/log/searchd_mysql.pid #請修改為實際使用的絕對路徑,例如:/usr/local/sphinx/var/...

          log=/usr/local/sphinx/var/log/searchd_mysql.log #請修改為實際使用的絕對路徑,例如:/usr/local/sphinx/var/...

          query_log=/usr/local/sphinx/var/log/query_mysql.log #請修改為實際使用的絕對路徑,例如:/usr/local/sphinx/var/...

          binlog_path=#關閉binlog日志

          }

          0x02 數據導入,清洗與維護:

          本教程以Mysql數據源為例。

          首先創建數據庫:

          Create database sgk;

          ?

          ?

          接著創建表:

          數據庫的表結構如下:

          ?

          其實還可以加上一個’from’字段,用于記錄數據的泄露來源,這里我沒有設置。

          表的字段主要為id,email,username,password,salt等,id即為數據對應編號,email為郵箱,username用戶名,password為對應密碼,salt一般為空,存在salt時可以寫入。

          注意:id的類型一定要寫到unsigned或大整數等,因為數據量上去了可能會有數億條。這里還有個坑之后會講。而其他字段的類型最好設置為VARCHAR,畢竟數據中可能會有一些奇奇怪怪的字符。

          先創建一個表data1,后續可能會有data2,data3...依數據量定。

          創建命令

          CREATE TABLE IF NOT EXISTS `data1`(

          `id` INT UNSIGNED AUTO_INCREMENT,

          `email` VARCHAR(255) NOT NULL,

          `username` VARCHAR(100) NOT NULL,

          `password` VARCHAR(40) NOT NULL,

          `salt` VARCHAR(40) NOT NULL,

          `from` VARCHAR(40) NOT NULL,

          PRIMARY KEY ( `id` )

          )ENGINE=MyISAM DEFAULT CHARSET=utf8;

          數據庫結構這邊準備好后,我們來講講數據的導入與清洗。

          推薦兩款工具:

          1. Navicat for Mysql 強大而操作簡易的圖形化工具,不多解釋.
          2. Mysqlimport Mysql工具集自帶的工具,命令行配置,靈活度高,在導入數據速度方面具有顯著優勢。

          Navicat可自行去官網下載。

          通常,泄露的數據格式會像這樣:

          (注: 本文所展現的所有數據均為機器隨機生成,僅供教學)

          ?

          這是最簡單且最好處理的一類數據,遇到就偷著樂吧hhhhhhh

          使用Navicat導入:

          ?

          ?

          ?

          使用mysqlimport導入:

          mysqlimport -u root -p --local --fields-terminated-by="" --lines-terminated-by="\r\n" sgk C:\Users\Administrator\Desktop\data1 --columns=username,password,email

          參數詳解:

          ?

          ?

          --columns后字段名依次與數據表中的字段對應

          最終效果:

          ?

          下面介紹幾種較難處理的數據格式及清洗方法:

          在清洗大文本數據時因為占用過高而無法直接打開查看,那么我們可以先取出一定樣本進行分析。

          比如head/tail命令便可從文本中取出前/后N行文本。

          ?

          那么其實自己可以寫一個腳本,將數據取樣和mysqlimport操作執行自動化

          類似這樣的數據:

          brucebook1----b63a795----brucebook@qq.com

          lxaixy13----b894a74----lxaixy13@qq.com

          brucebook----26890de----lanse123@qq.com

          gwjgwjgwj----c34a8b2----gds871214@vip.qq.com

          leelight----ab00021----leeguangzhu@qq.com

          可以這么寫:

          mysqlimport -u root -p --local --fields-terminated-by="----" --lines-terminated-by="\r\n" sgk C:\Users\Administrator\Desktop\data1 --columns=username,password,email

          數據清洗及導入就介紹到這里,關于數據維護由于篇幅限制我們放在下節講。

          0x03 測試索引查詢效果:

          1.建立索引:

          /usr/local/coreseek/bin/indexer -c {最好配置文件絕對路徑} {索引名字}

          檢查索引數據是否ok

          2.啟動索引服務

          /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf -i sgk

          3.查看命令用法

          /usr/local/coreseek/bin/search

          4.直接搜索:

          /usr/local/coreseek/bin/search -c {最好配置文件絕對路徑} {索引名字}{搜索詞}

          1

          demo:搜索一個詞測試

          5.索引重建

          /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/project/sphinx.conf sgk --rotate 1

          6.增量索引使用

          /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/project/sphinx.conf sgk_merge --rotate

          1

          7.合并索引跟增量索引

          /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/project/sphinx.conf --merge sgk_idx sgk_merge --rotate

          0x04 結語:

          本節教程就介紹到這里,介紹了索引引擎的配置文件與索引的建立,數據導入清洗相關的知識,希望大家有所收獲。到目前為止,我們的私人數據查詢系統就大概成形了,已經可以進行關鍵詞的查詢任務,下一步便是構建查詢應用前后端,將數據完整且優雅的展現于眼前。之后如何,敬請期待下節課程。

          滲透測試工程師崗位技能學習

          崗位介紹:

          滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網絡系統安全的一種評估方法,滲透測試工程師利用各種手段對某個特定網絡進行測試,以期發現和挖掘系統中存在的漏洞,然后輸出滲透測試報告,并提交給網絡所有者。網絡所有者根據滲透人員提供的滲透測試報告,可以清晰知曉系統中存在的安全隱患和問題。

          課程學習:

          本崗位課程學習包括6章23小節134個實驗,點擊“http://www.hetianlab.com/pages/newPostSystem.jsp?channelID=zhihu”開始學習!

          聲明:筆者初衷用于分享與普及網絡知識,若讀者因此作出任何危害網絡安全行為后果自負,與合天智匯及原作者無關,本文為合天原創,如需轉載,請注明出處!

          nfoQ 熱門話題

          1.繼美光之后,SK海力士宣布明年資本支出減半,全球存儲芯片市場暴跌幅度驚人
          https://www.infoq.cn/article/4IfbhjAHEF3RI4kpS9Xt

          2.Webpack 創始人推出比Webpack“快700倍”的Turbopack,基于Rust編寫
          https://www.infoq.cn/article/iKecr1k4eQMMpCaaXEDr

          3.云原生圖數據庫在西門子成都工廠的數智化運營實踐
          https://www.infoq.cn/article/f59Vdt8BZvUs1W4gYyQN

          4.企業應用開發需求激增,低代碼的價值和風險都不可忽視
          https://www.infoq.cn/article/UdGTsgRmdWEUxMxV3Aii

          5.人群圈選效率提升 30 倍,云積互動基于 Apache Doris 構建統一數倉的實踐
          https://www.infoq.cn/article/PiUelj8v3KdWhylRMZx6

          6.微軟:GitHub年收入達10億美元,擁有9千萬活躍用戶
          https://www.infoq.cn/article/1s4tJwDHpM5zTbeScaRI

          7.估值從3600億縮水到1200億,英特爾自動駕駛掌上明珠Mobileye的“災難性”上市
          https://www.infoq.cn/article/juifybjFERQvkbNCV8GL

          8.從零開始構建業務異常檢測系統,FreeWheel面臨過的問題和解決方案
          https://www.infoq.cn/article/VNuFLZeLmv0iDEJB06OD

          9.谷歌、微軟發布最新財報:營收持續增長,但利潤萎縮
          https://www.infoq.cn/article/ev51N1uqoPPp8iPdaieu

          10.Error Prone 通過檢測常見錯誤幫助改善Java代碼
          https://www.infoq.cn/article/lpOyO0ClfYLGmmakS3is

          博客園新聞

          1.靠AI六小時開發游戲Demo,劇本繪畫配音全包,網友:新概念3A大作
          https://news.cnblogs.com/n/730540/

          2.「多語言圖像描述」最強評估基準XM3600來了!涵蓋36種語言
          https://news.cnblogs.com/n/730541/

          3.ECCV 2022商湯斬獲70篇論文
          https://news.cnblogs.com/n/730539/

          4.ECCV 2022開獎!清華、浙大校友斬獲最佳論文獎
          https://news.cnblogs.com/n/730538/

          5.讓人啼笑皆非的機器人翻車現場,揭示了多少行業真相?
          https://news.cnblogs.com/n/730537/

          6.美團外賣在香港,還能“送啥都快”嗎?
          https://news.cnblogs.com/n/730536/

          7.小鵬飛行汽車,怎么成了“縫合怪”
          https://news.cnblogs.com/n/730535/

          8.自動駕駛企業Mobileye上市:市值167億美元 路演PPT曝光
          https://news.cnblogs.com/n/730534/

          9.iMessage聊天不舒服、橙色暗示買買買,這是蘋果、淘寶的顏色“小心機”
          https://news.cnblogs.com/n/730533/

          10.小米360們,靠什么撐起體面
          https://news.cnblogs.com/n/730532/

          11.字節低估了元宇宙社交
          https://news.cnblogs.com/n/730531/

          12.淘寶一定要搶羅永浩和俞敏洪
          https://news.cnblogs.com/n/730530/

          13.騰訊光子工作室舉辦內部AI繪畫大賽,游戲巨頭的正規軍要進場?
          https://news.cnblogs.com/n/730529/

          14.中國公有云服務市場報告出爐,騰訊云繼續穩居第二
          https://news.cnblogs.com/n/730528/

          15.米哈游地推太猛:PC云原神發力,韓快閃店吸引2萬玩家,日本辦電競比賽
          https://news.cnblogs.com/n/730527/

          16.火星表面下可能有古代細菌
          https://news.cnblogs.com/n/730526/

          17.蔚來國際業務總部項目落戶上海嘉定
          https://news.cnblogs.com/n/730524/

          18.氣候變化如何影響人類
          https://news.cnblogs.com/n/730523/

          19.電子煙“成煙”
          https://news.cnblogs.com/n/730525/

          20.貓咪能區分對它們和其他人類的呼叫
          https://news.cnblogs.com/n/730522/

          36氪新聞

          1.最前線 | 藥明康德三季報:單季度營收首次超過100億元
          https://www.36kr.com/p/1974595372818820

          2.老產品全線上云,微軟云的增長戲法
          https://www.36kr.com/p/1974515949052292

          3.美團到家事業群招募香港工作人員,或將籌備外賣業務試點
          https://www.36kr.com/p/1974556486509192

          4.羅森在上海開了一家無人便利店,消費者能習慣“拿了就走”嗎?
          https://www.36kr.com/p/1974553316155778

          5.個人電腦需求疲軟拖累微軟,云計算增速放緩致凈利大幅下滑
          https://www.36kr.com/p/1974551726842240

          6.唐唯實與中國市場的“斷舍離”
          https://www.36kr.com/p/1974541294903936

          7.6個月拉鋸戰即將落幕?傳聞馬斯克承諾本周五前完成440億美元收購推特
          https://www.36kr.com/p/1974296468021891

          8.資本減持零售業
          https://www.36kr.com/p/1974538005225863

          9.李佳琦之外,今年雙11達人直播還有哪些值得說?
          https://www.36kr.com/p/1974527715664518

          10.中餐江湖刮起上市旋風
          https://www.36kr.com/p/1974535560045192

          11.復活的眾泰正準備去海外市場割韭菜,它的前輩卻要破產了
          https://www.36kr.com/p/1974533304935049

          12.有關汽水音樂的未來,這幾點建議值得聽一聽
          https://www.36kr.com/p/1974493862650245

          13.PC上的這個“貴族接口”,究竟還有未來嗎
          https://www.36kr.com/p/1974473078186625

          14.結婚人數屢創新低,酒店的婚慶生意更加難做了?
          https://www.36kr.com/p/1974530453610880

          15.豐田全新電動車,核心來自比亞迪
          https://www.36kr.com/p/1974527846506888

          16.東方財富暴跌50%之后
          https://www.36kr.com/p/1974519726252423

          17.茅臺砍掉200個子品牌,丁雄軍的跨界“陽謀”
          https://www.36kr.com/p/1974509243695876

          18.破發的萬物云,為何估值邏輯失效?
          https://www.36kr.com/p/1974484290920839

          19.“羅永浩們”入淘:出名靠流量,成交靠淘寶
          https://www.36kr.com/p/1974454111773319

          20.被三大品牌掃地出門,侃爺涼涼
          https://www.36kr.com/p/1974483417588358

          21.定制家居再洗牌,尚品、索菲亞誰的麻煩更大?
          https://www.36kr.com/p/1974500496712324

          22.手機廠商不再負責更新,谷歌要親自維護安卓Go
          https://www.36kr.com/p/1974472853299586

          23.CFO楊若離職只是表象,戰略飄忽不定才是耽誤小紅書的根源
          https://www.36kr.com/p/1974498738839943

          24.蘋果要給App Store加廣告位,為何避開國內市場
          https://www.36kr.com/p/1974472360157830

          25.逃離風向的“僵尸青年”
          https://www.36kr.com/p/1974479594267267

          26.阿迪達斯丟了“椰子”
          https://www.36kr.com/p/1974476090729094

          27.雙11最后一塊流量洼地,品牌應該怎么用好視頻號?
          https://www.36kr.com/p/1974453266047366

          28.1024,一年一度吐槽小鵬大賽
          https://www.36kr.com/p/1974438131368713

          29.小鵬飛行汽車,怎么成了“縫合怪”
          https://www.36kr.com/p/1974444740829827

          30.折疊屏手機火了,又好像沒火
          https://www.36kr.com/p/1974438406095624

          31.讓人啼笑皆非的機器人翻車現場,揭示了多少行業真相?
          https://www.36kr.com/p/1974461031801224

          32.2022寵物食品市場報告:貓經濟當道,功效零食猛增長
          https://www.36kr.com/p/1974425027757057

          33.歐美天然氣價格一度跌入負值,怎么回事?
          https://www.36kr.com/p/1974421096596489

          34.被“偷家”的抖音,再戰雙11
          https://www.36kr.com/p/1974414456430981

          35.“開一家水果店,嘗盡人間疾苦”
          https://www.36kr.com/p/1974430216528259

          36.如何成為一名優秀的產品經理?只需要這幾種能力
          https://www.36kr.com/p/1974389638578944

          37.日均3500萬票的中國郵政,追上順豐通達系快遞還差多遠?
          https://www.36kr.com/p/1974383660573315

          38.基金三季報速覽:張坤抄底騰訊,蕭楠卻減了倉
          https://www.36kr.com/p/1974415688540544

          39.合肥高科IPO成功過會:專注家用電器專用配件,背靠海爾年收入逾8億
          https://www.36kr.com/p/1974425872286464

          40.圓心科技第三次沖刺港股上市,有騰訊加持為啥還是這么不容易?
          https://www.36kr.com/p/1974409791652613

          41.老板想要在非洲賣巧克力,營銷人必須知道的3種營銷策略
          https://www.36kr.com/p/1974388108026502

          42.從質疑極氪009宣傳圖造假,到最終刪除微博,李想與吉利副總的“高能”互動都在這了
          https://www.36kr.com/p/1974357088772489

          43.上一財年支出是收入的5倍,Edtech獨角獸以4000萬美元收購線下培訓機構,尋求增加收入
          https://www.36kr.com/p/1974410358235522

          44.年入12億,“臟”上熱搜的楊國福,不靠賣麻辣燙賺錢
          https://www.36kr.com/p/1974386304475522

          45.為什么和伴侶同居后,男生們的居家能力大幅提升?| 2022年輕人居家報告
          https://www.36kr.com/p/1974398781694601

          46.國際航班數量增一倍,票價降兩成
          https://www.36kr.com/p/1974410467582594

          47.從“避風港”變成“眾矢之的”,谷歌做錯了什么?
          https://www.36kr.com/p/1974407300981380

          48.早期項目丨擁有萬億級市場應用前景,「中科微智」通過微生物組干預促進兒童生長發育
          https://www.36kr.com/p/1964356398688518

          49.阿迪和侃爺割席:仇恨言論和一個時代的公關災難
          https://www.36kr.com/p/1974402318770562

          50.等等,你口中的“動漫”,究竟是什么意思?
          https://www.36kr.com/p/1974390586433922

          開源中國資訊

          1.PHP 8.3 的第一個決議:內置 JSON 驗證函數
          https://www.oschina.net/news/215074

          2.FydeOS v15.1 更新上線,有諸多小彩蛋等著你
          https://www.oschina.net/news/215070

          3.開源 API 管理工具 v1.8.0 發布,數據上云,API 團隊協作
          https://www.oschina.net/news/215065/eoapi-1-8-0-released

          4.實現自托管后,Zig 的下一步是什么?
          https://www.oschina.net/news/214994/zig-self-hosted-now-what

          5.Linus 認為是時候從內核移除對 i486 CPU 的支持
          https://www.oschina.net/news/214989/intel-i486-linux-possible-drop

          6.谷歌 Chrome 將于 2023 年 2 月停止支持 Windows 7/8.1
          https://www.oschina.net/news/214988/google-chrome-sunsetting-support-windows-7-8-1

          7.Keka:macOS 平臺的解壓縮工具
          https://my.oschina.net/u/3859945/blog/5560595

          8.Chrome 107 正式發布
          https://www.oschina.net/news/214986/chrome-107-released

          9.如何解讀“后 Hadoop 時代”?
          https://www.oschina.net/event/2327198

          10.OSCHINA 2022 中國開源開發者問卷
          https://wj.qq.com/s2/11022804/f3c0/

          11.拒絕 “ghs”,約會軟件開源 “色圖” 識別 AI
          https://www.oschina.net/news/214983/bumble-open-source-private-detector

          12.Next.js 13 帶來比 Webpack 快 700 倍的打包器:Turbopack
          https://www.oschina.net/news/214982/nextjs-13-released

          13.Ubuntu 22.10 正式支持 Sipeed 的 LicheeRV RISC-V 開發板
          https://www.oschina.net/news/214981/ubuntu-on-sipeeds-licheerv-risc-v-board

          14.Play with Docker —— 在線 Docker 練習平臺
          https://www.oschina.net/p/play-with-docker

          15.Gitee 推薦 | 輕量級 Windows 平臺客戶端開發框架 SOUI 4
          https://gitee.com/setoutsoft/soui4

          16.每日一博 | 分布式 ID 生成服務的技術原理和項目實戰
          https://my.oschina.net/u/4939618/blog/5585451

          17.IHP 1.0 正式發布,開箱即用的 Haskell Web 框架
          https://www.oschina.net/news/214973/ihp-1-0-released

          Elastic日報 第1519期 (2022-10-26)

          1.不同的查詢詞項對 ES 的影響(需要梯子)
          https://medium.com/@raaj.akshar/performing-search-for-different-word-variants-in-elasticsearch-bd5c37ce4778

          2.Html 內容清洗的一個 ingest(需要梯子)
          https://medium.com/@andre.luiz1987/ingest-pipelines-html-strip-processor-elasticsearch-dd125f9ea640

          3.type 類型的使用(需要梯子)
          https://medium.com/@andre.luiz1987/tips-version-field-type-elasticsearch-1a8bf5527169

          HP默認的函數有移除指定html標簽,名稱為strip_tags,在某些場合非常有用。

          strip_tags

          (PHP 3 >=3.0.8, PHP 4, PHP 5)

          strip_tags — Strip HTML and PHP tags from a string

          string strip_tags ( string str [, string allowable_tags] )

          弊端 :

          這個函數只能保留想要的html標簽,就是參數string allowable_tags。

          這個函數的參數allowable_tags的其他的用法。

          strip_tags($source, ”); 去掉所以的html標簽。

          strip_tags($source, ‘<div><img><em>’); 保留字符串中的div、img、em標簽。

          如果想去掉的html的指定標簽。那么這個函數就不能滿足需求了。于是乎我用到了這個函數。

          /**

          * Removes specific tags.

          */

          function strip_only_tags($str, $tags, $stripContent=FALSE) {

          $content='';

          if (!is_array($tags)) {

          $tags=(strpos($str, '>') !==false ? explode('>', str_replace('<', '', $tags)) : array($tags));

          if (end($tags)=='') {

          array_pop($tags);

          }

          }

          foreach($tags as $tag) {

          if ($stripContent) {

          $content='(.+<!--'.$tag.'(-->|\s[^>]*>)|)';

          }

          $str=preg_replace('#<!--?'.$tag.'(-->|\s[^>]*>)'.$content.'#is', '', $str);

          }

          return $str;

          }

          參數說明

          $str — 是指需要過濾的一段字符串,比如div、p、em、img等html標簽。

          $tags — 是指想要移除指定的html標簽,比如a、img、p等。

          $stripContent=FALSE — 移除標簽內的內容,比如將整個鏈接刪除等,默認為False,即不刪除標簽內的內容。

          使用說明

          $target=strip_only_tags($source, array(‘a’,'em’,'b’));

          移除$source字符串內的a、em、b標簽。

          $source='<div><a href="http://www.tsingyaun.cn" target="_blank"><img src="http://www.tsingyuan.cn/logo.png" border="0" alt="Welcome to linzl." />This a example from<em>lixiphp</em></a><strong>!</strong></div>

          ';

          $target=strip_only_tags($source, array('a','em'));

          //target results

          //<div><img src="http://blog.lixiphp.com/logo.png" border="0" alt="Welcome to lixiphp." />This a example from<strong>!</strong></div>

          :left;"


          主站蜘蛛池模板: 亚洲国产精品一区二区久久hs| 国产精品一区二区在线观看| 制服美女视频一区| 国产在线精品一区二区不卡麻豆| 午夜无码视频一区二区三区| 国产一区二区三区在线观看精品| 精品人妻一区二区三区四区在线| 国产激情精品一区二区三区| 在线精品日韩一区二区三区| 亚洲日本乱码一区二区在线二产线| 人妻无码一区二区三区| 亚洲一区二区三区在线| 无码国产精成人午夜视频一区二区| 亚洲一区二区高清| 日本一区二区三区不卡在线视频| 日本一区二区三区精品国产| 在线视频一区二区三区四区| 亚洲色一区二区三区四区| 国产一区二区精品尤物| 久久精品一区二区| 国产吧一区在线视频| 日本免费一区二区三区最新vr| 无码人妻精品一区二区三区久久久 | 中文字幕精品一区影音先锋| 亚洲国产激情一区二区三区| 亚洲一区精品无码| 亚洲日本一区二区三区在线不卡| 变态拳头交视频一区二区| 久久精品亚洲一区二区| 国产在线不卡一区| 人妻免费一区二区三区最新| 久久精品免费一区二区| 一区二区三区在线|日本| 国产精品久久久久一区二区三区| 性盈盈影院免费视频观看在线一区| 国产a久久精品一区二区三区| 国产品无码一区二区三区在线蜜桃| 日韩精品一区二区三区中文精品 | 国产婷婷色一区二区三区| 国产另类TS人妖一区二区| 午夜DV内射一区区|