//创建索引,添加数据
$client = ClientBuilder::create()->setHosts(config('app.es'))->build();
$data = Users::select()->toArray();
foreach ($data as $k=>$v){
$params = [
'index'=>'add',//类似库名
'type'=>'_doc',//类似表名
'body'=>$v
];
$res = $client->index($params);
}
$seek = input('fang_name');
$client = ClientBuilder::create()->setHosts(config('app.es'))->build();
$params = [
'index' => 'add',
'body' => [
'query' => [
'match' => [
'username' => $seek
]
],
'highlight' => [
'pre_tags' => ["<em style='color: red'>"],
'post_tags' => ["</em>"],
'fields' => [
"username" => new \stdClass()
]
]
],
];
$results = $client->search($params);
foreach ($results['hits']['hits'] as $k => $v){
$results['hits']['hits'][$k]['_source']['username'] = $results['hits']
['hits'][$k]['highlight']['username'][0];
}
$res = array_column($results['hits']['hits'],'_source');
return json(['code'=>0,'data'=>$res]);
//线上es配置
'es'=>[[
'host' => 'es-csn91h5k.public.tencentelasticsearch.com',
'port' => '9200',
'scheme' => 'https',
'user' => 'elastic',
'pass' => '1901phpA'
]]
kB
https://es-csn91h5k.kibana.tencentelasticsearch.com:5601/login?next=%2F
小程序端
<view>
<form catchsubmit="formSubmit" catchreset="formReset">
<input class="weui-input" name="fang_name" placeholder="这是一个输入框" />
<button style="margin: 30rpx 0" type="primary" formType="submit">搜索</button>
</form>
<block>
<view>
<rich-text nodes=" {{str}}"></rich-text>
</view>
</block>
</view>
data: {
str:[]
},
formSubmit(e){
let _this=this
let fang_name=e.detail.value.fang_name
wx.request({
url: 'http://www.month.com/api/showtime',
data:{
fang_name:fang_name
},
success:function(ret){
var fang=ret.data.data[0].name[0]
console.log(fang)
_this.setData({
str:fang
})
}
})
},