色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

elasticsearch vue

錢諍諍2年前9瀏覽0評論

Elasticsearch 是一款常用的開源搜索引擎,而 Vue 則是前端框架中的佼佼者。在項目開發過程中,使用 Elasticsearch 實現搜索和數據聚合,并結 合 Vue 展現在頁面中,是一個非常不錯的選擇!

接下來,我們就來詳細介紹 Elasticsearch 和 Vue 的結合使用,并通過實例展示如何實現。

//創建elasticsearch客戶端
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
//搜索示例
client.search({
q: 'hamburger'
}).then(function (body) {
var hits = body.hits.hits;
}, function (error) {
console.trace(error.message);
});
//聚合示例
client.search({
body: {
aggs: {
price_stats: { stats: { field: 'price' } }
}
}
}).then(function (resp) {
var stats = resp.aggregations.price_stats;
}, function (err) {
console.trace(err.message);
});

在使用 Elasticsearch 的時候,我們首先需要創建一個 Elasticsearch 的客戶端。上述代碼便是創建客戶端的示例代碼。其中,我們需要指定 Elasticsearch 的主機和端口號,同時還可以配置日志輸出的級別。

接下來,我們可以使用搜索和聚合兩種方式來獲取 Elasticsearch 中的數據。搜索方式非常簡單,只需要傳入一個搜索字符串即可。聚合則需要傳入一個 *body* 對象,其中包含聚合的方式以及字段等信息。

將 Elasticsearch 的數據與 Vue 結合展示,我們可以使用 Vuetify 的 v-data-table 組件。其中,我們需要將 Elasticsearch 返回的數據綁定到一個 *items* 數組上,并將其在 v-data-table 中顯示出來。同時, 我們還可以使用 v-select 組件來實現對搜索詞的選擇操作。

<template>
<v-container>
<v-select
v-model="searchText"
:items="searchItems"
label="搜索詞"
/>
<v-data-table
:headers="headers"
:items="items"
:search="searchText"
:footer-props="{itemsPerPageOptions: [5, 10, 20]}"
/>
</v-container>
</template>
<script>
import elasticsearch from 'elasticsearch'
//創建elasticsearch客戶端
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
export default {
data () {
return {
searchText: '',
searchItems: ['hamburger', 'hotdog', 'fries'],
headers: [
{ text: 'ID', value: '_id' },
{ text: '名稱', value: '_source.name' },
{ text: '價格', value: '_source.price' }
],
items: []
}
},
methods: {
fetchData() {
let vm = this
client.search({
q: vm.searchText
}).then(function (body) {
vm.items = body.hits.hits
}, function (error) {
console.trace(error.message);
})
}
},
watch: {
searchText: function () {
this.fetchData()
}
}
}
</script>

以上便是 Elasticsearch 和 Vue 的結合實現。我們通過 v-select 組件選擇搜索詞,并利用 ELasticsearch 進行搜索操作。最后,將搜索結果顯示在 v-data-table 組件中。整個過程非常簡單,但不失為一種在實際項目中很有用的處理方式。