在搭建Elasticsearch數(shù)據(jù)庫(kù)的過(guò)程中,首先使用了其推薦的Logstash工具導(dǎo)入數(shù)據(jù),但是用起來(lái)非常不順手,所以想用Perl擅長(zhǎng)的正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾分類(lèi),然后導(dǎo)入Elasticsearch,于是搜索CPAN找到了Search::Elasticsearch模塊。
肅寧網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,肅寧網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為肅寧千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的肅寧做網(wǎng)站的公司定做!該模塊在CPAN上的文檔寫(xiě)的比較簡(jiǎn)潔,于是將使用過(guò)程中的經(jīng)驗(yàn)總結(jié)如下:
一、逐條數(shù)據(jù)寫(xiě)入:
use Search::Elasticsearch; my $e=Search::Elasticsearch->new(nodes=>['localhost:9200']); $e->index( index=>"$index_name", type=>"$type_name", id=>"$id_name", body=>{ title=>"$data_name", data=>"$data" } );
二、批量數(shù)據(jù)寫(xiě)入:
use Search::Elasticsearch; my $e=Search::Elasticsearch->new(nodes=>['localhost:9200']); my $bulk=$e->bulk_helper( index=>"$index_name", type=>"$type_name" ); my $i=0; while(...){ #do something $bulk->add_action(index=>{id=>$id_name,source=>{title =>$data_name,data=>$data}}); if ($i>999){ $bulk->flush; $i=0; } $i++; }
三、讀取一條記錄:
use Search::Elasticsearch; my $e=Search::Elasticsearch->new(nodes=>['localhost:9200']); my $doc=$e->get( index=>"$index_name", type=>"$type_name", id=>"$id_name" ); my $data=$doc->{_source}->{$data_name}; #do something
四、依次讀取全部記錄:
use Search::Elasticsearch; my $e=Search::Elasticsearch->new(nodes=>['localhost:9200']); my $scroll=$e->scroll_helper( index=>"$index_name", type=>"$type_name", body=>{ query=>{match_all=>{}}, size=>5000 } ); while (my $doc=$scroll->next){ my $id=$doc->{_id}; my $data=$doc->{_source}->{$data_name}; #do something }
五、跳轉(zhuǎn)到第$n條數(shù)據(jù)開(kāi)始讀取
my $doc=$scroll->next($n);
六、基本數(shù)據(jù)查詢
use strict; use Search::Elasticsearch; my $e = Search::Elasticsearch->new(nodes => ['localhost:9200']); my $results = $e->search( index => $index_name, body => { query => { query_string => { query => $search } } } ); print $results->{hits}->{hits}->[0]->{_source}->{word};
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。