ElasticSearch是什么?
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為混凝土泵車等企業(yè)提供專業(yè)服務(wù)。
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。設(shè)計(jì)用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。
簡單來說就是用來做網(wǎng)站/APP搜索功能
brew install elasticsearch
brew install logstash
mysql-connector 在phpstorm目錄下就會(huì)有這個(gè)文件
/Users/wcc/Library/Preferences/PhpStorm2018.1/jdbc-drivers/MySQL Connector/J/5.1.46/mysql-connector-java-5.1.46.ja
所以這里我就不安裝了,需要安裝的自行搜索
安裝logstash之后進(jìn)入logstash的bin目錄執(zhí)行
logstash-plugin install logstash-input-jdbc
搜索
curl -XGET 'http://localhost:9200/request_log/_search?pretty&q=source:WWW'
在bin目錄下新增request_mysql.conf
input {
jdbc {
jdbc_driver_library => "/Users/wcc/Library/Preferences/PhpStorm2018.1/jdbc-drivers/MySQL Connector/J/5.1.46/mysql-connector-java-5.1.46.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&useSSL=false"
jdbc_user => "root"
jdbc_password => "root"
statement => "SELECT * FROM pre_request_logs_20180524 where update_time > :sql_last_value"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
schedule => "* * * * *"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => "localhost"
index => "request_log"
}
}
注意statement對于的sql語句就是要同步數(shù)據(jù)時(shí)執(zhí)行的sql
update_time > :sql_last_value代表每次同步新增的數(shù)據(jù),只有就不會(huì)導(dǎo)出重復(fù)同步數(shù)據(jù)
執(zhí)行配置文件
logstash -f request_mysql.conf
每隔一分鐘就會(huì)執(zhí)行一次sql用來同步數(shù)據(jù)
查看所有索引
curl 'localhost:9200/_cat/indices?v'
composer.json文件中新增
{
"require": {
"elasticsearch/elasticsearch": "~6.0",
"monolog/monolog": "~1.0"
}
}
composer update
文件目錄如下
use Elasticsearch\ClientBuilder;
require '../vendor/autoload.php';
$client = ClientBuilder::create()
->build();
$params = [
'index' => 'request_log',
'body' => [
'query' => [
'match' => [
'source' => 'WEB'
]
]
]
];
$response = $client->search($params);
print_r($response);
total:搜索到的行數(shù)
hits:搜索到數(shù)據(jù)的具體內(nèi)容
新聞標(biāo)題:elasticsearch的使用
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article28/gciocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、App設(shè)計(jì)、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、微信小程序、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)