日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

映射的配置

發布時間:2024/4/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 映射的配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

映射配置

索引有了,接下來肯定是添加數據。但是,在添加數據之前必須定義映射。

什么是映射?

映射是定義文檔的過程,文檔包含哪些字段,這些字段是否保存,是否索引,是否分詞等

只有配置清楚,Elasticsearch才會幫我們進行索引庫的創建(不一定)

?

創建映射字段

語法

請求方式依然是PUT

PUT /索引庫名/_mapping/類型名稱 {"properties": {"字段名": {"type": "類型","index": true,"store": true,"analyzer": "分詞器"}} }
  • 類型名稱:就是前面將的type的概念,類似于數據庫中的不同表字段名:任意填寫 ,可以指定許多屬性,例如:

  • type:類型,可以是text、long、short、date、integer、object等

  • index:是否索引,默認為true

  • store:是否存儲,默認為false

  • analyzer:分詞器,這里的ik_max_word即使用ik分詞器

示例

發起請求:

PUT learn/_mapping/goods {"properties": {"title": {"type": "text","analyzer": "ik_max_word"},"images": {"type": "keyword","index": "false"},"price": {"type": "float"}} }

響應結果:

{"acknowledged": true }

查看映射關系

語法:

GET /索引庫名/_mapping

示例:

GET /learn/_mapping

響應:

{"learn": {"mappings": {"goods": {"properties": {"images": {"type": "keyword","index": false},"price": {"type": "float"},"title": {"type": "text","analyzer": "ik_max_word"}}}}} }

字段屬性詳解

2.5.3.1.type

Elasticsearch中支持的數據類型非常豐富:

我們說幾個關鍵的:

  • String類型,又分兩種:

    • text:可分詞,不可參與聚合

    • keyword:不可分詞,數據會作為完整字段進行匹配,可以參與聚合

  • Numerical:數值類型,分兩類

    • 基本數據類型:long、interger、short、byte、double、float、half_float

    • 浮點數的高精度類型:scaled_float

      • 需要指定一個精度因子,比如10或100。elasticsearch會把真實值乘以這個因子后存儲,取出時再還原。

  • Date:日期類型

    elasticsearch可以對日期格式化為字符串存儲,但是建議我們存儲為毫秒值,存儲為long,節省空間。

index

index影響字段的索引情況。

  • true:字段會被索引,則可以用來進行搜索。默認值就是true

  • false:字段不會被索引,不能用來搜索

index的默認值就是true,也就是說你不進行任何配置,所有字段都會被索引。

但是有些字段是我們不希望被索引的,比如商品的圖片信息,就需要手動設置index為false。

?

store

是否將數據進行額外存儲。

在學習lucene和solr時,我們知道如果一個字段的store設置為false,那么在文檔列表中就不會有這個字段的值,用戶的搜索結果中不會顯示出來。

但是在Elasticsearch中,即便store設置為false,也可以搜索到結果。

原因是Elasticsearch在創建文檔索引時,會將文檔中的原始數據備份,保存到一個叫做_source的屬性中。而且我們可以通過過濾_source來選擇哪些要顯示,哪些不顯示。

而如果設置store為true,就會在_source以外額外存儲一份數據,多余,因此一般我們都會將store設置為false,事實上,store的默認值就是false。

?

boost

激勵因子,這個與lucene中一樣

其它的不再一一講解,用的不多,大家參考官方文檔:

?

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的映射的配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。