黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

elasticsearch中的mapping映射配置與查詢典型案

系統 2639 0

elasticsearch中的mapping映射配置示例
比如要搭建個中文新聞信息的搜索引擎,新聞有"標題"、"內容"、"作者"、"類型"、"發布時間"這五個字段;
我們要提供"標題和內容的檢索"、"排序"、"高亮"、"統計"、"過濾"等一些基本功能。
ES提供了smartcn的中文分詞插件,測試的話建議使用IK分詞插件。
內容中properties對應mapping里的內容,里面5個字段。
type指出字段類型、內容、標題字段要進行分詞和高亮因此要設置分詞器和開啟term_vector。
{
? "news": {
??? "properties": {
????? "content": {#內容
??????? "type": "string",? #字段類型
??????? "store": "no", #是否存儲
??????? "term_vector": "with_positions_offsets",#開啟向量,用于高亮
??????? "index_analyzer": "ik",#索引時分詞器
??????? "search_analyzer": "ik"#搜索時分詞器
????? },
????? "title": {
??????? "type": "string",
??????? "store": "no",
??????? "term_vector": "with_positions_offsets",
??????? "index_analyzer": "ik",
??????? "search_analyzer": "ik",
??????? "boost": 5
????? },
????? "author": {
??????? "type": "string",
??????? "index": "not_analyzed"#該字段不分詞
????? },
????? "publish_date": {
??????? "type": "date",
??????? "format": "yyyy/MM/dd",
??????? "index": "not_analyzed"#該字段不分詞
????? },
????? "category": {
??????? "type": "string",
??????? "index": "not_analyzed"#該字段不分詞
????? }
??? }
? }
}

查詢示例:內容包括幾個部分:

分頁:from/size、字段:fields、排序sort、查詢:query、過濾:filter、高亮:highlight、統計:facet
{
? "from": 0,
? "size": 10,
? "fields": [
??? "title",
??? "content",
??? "publish_date",
??? "category",
??? "author"
? ],
? "sort": [
??? {
????? "publish_date": {
??????? "order": "asc"
????? }
??? },
??? "_score"
? ],
? "query": {
??? "bool": {
????? "should": [
??????? {
????????? "term": {
??????????? "title": "中國"
????????? }
??????? },
??????? {
????????? "term": {
??????????? "content": "中國"
????????? }
??????? }
????? ]
??? }
? },
? "filter": {
??? "range": {
????? "publish_date": {
??????? "from": "2010/07/01",
??????? "to": "2010/07/21",
??????? "include_lower": true,
??????? "include_upper": false
????? }
??? }
? },
? "highlight": {
??? "pre_tags": [
????? "<tag1>",
????? "<tag2>"
??? ],
??? "post_tags": [
????? "</tag1>",
????? "</tag2>"
??? ],
??? "fields": {
????? "title": {},
????? "content": {}
??? }
? },
? "facets": {
??? "cate": {
????? "terms": {
??????? "field": "category"
????? }
??? }
? }
}
結果包含需要的幾個部分。
值得注意的是,facet的統計是命中的結果進行統計,filter是對結果進行過濾,filter不會影響facet,如果要統計filter掉的的就要使用filter facet。

elasticsearch中的mapping映射配置與查詢典型案例


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論