電商搜尋實戰一 索引構建示例

2021-10-09 04:22:48 字數 1633 閱讀 3220

定義字段, 就是說有哪些字段需要儲存到es中。

定義字段型別,哪些欄位做分詞,哪些欄位做排序還有一些像地理資訊等複雜型別的定義。

定義欄位的分詞器

put

/shop,:

,"name":,

"tags":,

"location":,

"remark_score":,

"price_per_man":,

"category_id":,

"category_name":,

"seller_id":,

"seller_remark_score":,

"seller_disabled_flag":}

}}

索引解釋

「name」:,

店鋪名稱

「tags」:, 標籤: 如環境好, 帥哥多, 等

fielddata: true 意思為聚合操作, 這裡是為了可以讓es支援聚合統計.

「analyzer」: 「whitespace」 按照空格分詞

「type」: 「geo_point」: 意思為基於地理資訊的分詞

「remark_score」: 是門店評分字段,這裡使用double 型別比較合適.用於排序的字段.

「price_per_man」: 人均**字段,可以排序, 可以取最高,最低等等操作.

「category_id」: , 「category_name」:

keyword 儲存欄位串,不會分詞,會將整個欄位做乙個token儲存到索引中.

「seller_id」:, 「seller_remark_score」:, 「seller_disabled_flag」: 商家的一些資訊, 商家有可能是會有多個門店的. 商家的評分也會在搜尋排序中佔一定的比例

logstash-input-jdbc也是乙個es的外掛程式. 要使用logstash服務. 它的作用就是將mysql和es的建立乙個通道,實現乙個全量索引構建。

外掛程式安裝

我這裡是在windows下安裝的,因此需要執行.bat結尾的。 如果是linux 就不用執行.bat結尾的了。

bin/logstash-plugin.bat install logstash-input-jdbc
如果使用es 7.8.1 版本的會出現表示功能已經被支援了。就不需要在安裝了。

準備mysql的驅動包

這裡就將mysql的驅動包到bin目錄下了。

編寫匯入從mysql匯入 es的規則和sql

input 

}output "

} stdout

}

這裡將檔案上傳至附件中。

執行logstash

執行logstash的同時要指定使用哪個配置檔案

./logstash -f mysql/jdbc.conf
檢視索引 就已經有值了。

Flutter教程 從零構建電商應用(一)

在這個系列中,我們將學習如何使用google的移動開發框架flutter建立乙個電商應用。本文是flutter框架系列教程的第一部分,將學習如何安裝flutter開發環境並建立第乙個flutter應用,並學習flutter應用開發中的核心概念,例如widget 狀態等。本系列教程包含如下四個部分,敬...

Flutter教程 從零構建電商應用(一)

在這個系列中,我們將學習如何使用google的移動開發框架flutter建立乙個電商應用。本文是flutter框架系列教程的第一部分,將學習如何安裝flutter開發環境並建立第乙個flutter應用,並學習flutter應用開發中的核心概念,例如widget 狀態等。本系列教程包含如下四個部分,敬...

開課吧Vue電商專案實戰 一 登入認證

安裝cube ui vue add cube ui配置router 需要驗證時新增meta標籤,確認哪個路由需要受保護 import vue from vue import router from vue router import home from views home.vue import l...