文本搜索類型
-
text
文本系列包括text和match_only_text2種類型。text用于索引全文值的字段,例如電子郵件正文或產(chǎn)品描述。es會(huì)先用分詞器將字符串轉(zhuǎn)換為單個(gè)術(shù)語(yǔ)的列表,然后再進(jìn)行索引。適用于非結(jié)構(gòu)化但人類可讀的內(nèi)容, 例如郵件正文, 文章等。PUT my-index-000001 { "mappings": { "properties": { "full_name": { "type": "text" } } } }參數(shù) 意義 analyzer 文本分詞器,默認(rèn)為index analyzer 或 standard analyzer eager_global_ordinals 是否應(yīng)該在刷新時(shí)急切地加載全局序數(shù)?接受true或false (默認(rèn))。對(duì)于常用于術(shù)語(yǔ)聚合的字段建議開啟。 fielddata 是否可以使用內(nèi)存中的字段數(shù)據(jù)進(jìn)行排序、聚合或腳本嗎?接受true或false(默認(rèn))。 fielddata_frequency_filter 允許決定在啟用時(shí)將哪些值加載到內(nèi)存中的特別設(shè)置fielddata 。默認(rèn)情況下會(huì)加載所有值。 fields 多字段允許為不同目的以多種方式索引相同的字符串值,例如一個(gè)用于搜索的字段和一個(gè)用于排序和聚合的多字段。 index 該字段是否應(yīng)該可以快速搜索?接受true(默認(rèn))和 false. 僅doc_values 啟用的字段仍然可以使用基于術(shù)語(yǔ)或范圍的查詢進(jìn)行查詢,盡管速度較慢。 index_options 哪些信息應(yīng)存儲(chǔ)在索引中,用于搜索和突出顯示。默認(rèn)為positions. index_prefixes 如果啟用,2 到 5 個(gè)字符之間的術(shù)語(yǔ)前綴將被索引到單獨(dú)的字段中。這允許前綴搜索以更大的索引為代價(jià)更有效地運(yùn)行。 index_phrases 如果啟用,兩個(gè)詞的組合 ( shingles ) 將被索引到一個(gè)單獨(dú)的字段中。這允許以更大的索引為代價(jià),更有效地運(yùn)行精確的短語(yǔ)查詢(無(wú) slop)。請(qǐng)注意,當(dāng)停用詞未被刪除時(shí),此方法效果最佳,因?yàn)榘S迷~的短語(yǔ)將不使用輔助字段,并將回退到標(biāo)準(zhǔn)短語(yǔ)查詢。接受true或false(默認(rèn))。 norms 字段長(zhǎng)度是否對(duì)查詢?cè)u(píng)分有影響。接受true(默認(rèn))或false。 position_increment_gap 應(yīng)該在字符串?dāng)?shù)組的每個(gè)元素之間插入的假術(shù)語(yǔ)位置的數(shù)量。默認(rèn)為position_increment_gap 在分析器上配置的默認(rèn)為100. 100之所以選擇它,是因?yàn)樗梢苑乐咕哂邢喈?dāng)大的斜率(小于 100)的短語(yǔ)查詢跨字段值匹配術(shù)語(yǔ)。 store 字段值是否應(yīng)與字段_source分開存儲(chǔ)和檢索。接受true或false (默認(rèn))。 search_analyzer 通常,在索引時(shí)和搜索時(shí)應(yīng)該應(yīng)用相同的分析器,以確保查詢中的術(shù)語(yǔ)與倒排索引中的術(shù)語(yǔ)格式相同。 但是,有時(shí)在搜索時(shí)使用不同的分析器可能是有意義的。 默認(rèn)為analyzer設(shè)置。 search_quote_analyzer 為短語(yǔ)指定分析器,這在處理禁用短語(yǔ)查詢的停用詞時(shí)特別有用。默認(rèn)為search_analyzer設(shè)置。 similarity 應(yīng)該使用 哪種評(píng)分算法或相似度。默認(rèn)為BM25. term_vector 是否應(yīng)為該字段存儲(chǔ)術(shù)語(yǔ)向量。默認(rèn)為no. meta 關(guān)于字段的元數(shù)據(jù)。 參數(shù)講解:
-
fielddata: 默認(rèn)情況下,text字段是可搜索的,但默認(rèn)情況下不可用于聚合、排序或腳本。通過(guò)設(shè)置fielddata=true使倒排索引反轉(zhuǎn)的方式將字段數(shù)據(jù)存于內(nèi)存中, 這種方法會(huì)造成占用大量?jī)?nèi)存。 建議不要使用該方法, 可以使用fields替代。 -
fielddata_frequency_filter: 與fielddata混合使用,用于過(guò)濾部分低于不符合區(qū)間的字段, 減少內(nèi)存的占用。
match_only_text它是以text位置查詢的評(píng)分和效率來(lái)?yè)Q取空間效率。此字段有效地存儲(chǔ)數(shù)據(jù)的方式與text僅索引文檔 ( index_options: docs) 并禁用規(guī)范 ( norms: false) 的字段相同。 -
annotated-text
包含特殊標(biāo)記的文本。用于識(shí)別命名實(shí)體。comletion
用于自動(dòng)完成建議。search_as_you_type
text-like 類型,用于在輸入時(shí)完成。token_count
文本中標(biāo)記的計(jì)數(shù)。
結(jié)構(gòu)化數(shù)據(jù)類型
-
range 范圍
范圍字段類型表示上限和下限之間的連續(xù)值范圍。 使用gt或gte用于下限,lt或lte用于上限。它們可用于查詢,并且對(duì)聚合的支持有限。支持以下范圍類型:
類型 描述 integer_range 一系列帶符號(hào)的 32 位整數(shù),最小值為 ,最大值為。
float_range 一系列單精度 32 位 IEEE 754 浮點(diǎn)值。 long_range 一系列帶符號(hào)的 64 位整數(shù),最小值為 ,最大值為
。
double_range 一系列雙精度 64 位 IEEE 754 浮點(diǎn)值。 date_range 一系列date值。format日期范圍通過(guò)映射參數(shù)支持各種日期格式。無(wú)論使用何種格式,日期值都會(huì)被解析為一個(gè)無(wú)符號(hào)的 64 位整數(shù),表示自 UTC 的 Unix 紀(jì)元以來(lái)的毫秒數(shù)。 ip_range 支持IPv4或 IPv6(或混合)地址 的一系列 ip 值。 使用方法參考 range
ip
一個(gè)ip字段可以索引/存儲(chǔ)IPv4或 IPv6地址。 使用方法參考 ipversion
軟件版本。支持語(yǔ)義版本控制 優(yōu)先規(guī)則。murmur3
計(jì)算和存儲(chǔ)值的哈希值。需要安裝插件并且重啟節(jié)點(diǎn)才能生效, 參考 murmur3
聚合數(shù)據(jù)類型
aggregate_metric_double
預(yù)先匯總的指標(biāo)值。參考 aggregate_metric_doublehistogram
直方圖形式的預(yù)聚合數(shù)值。參考 histogram
空間數(shù)據(jù)類型
geo_point
緯度和經(jīng)度點(diǎn)。參考 geo_pointgeo_shape
復(fù)雜的形狀,例如多邊形。參考 geo_shapepoint
任意笛卡爾點(diǎn)。參考 pointshape
任意笛卡爾幾何。參考 shape
文檔排名類型
dense_vector
記錄浮點(diǎn)值的密集向量。參考 dense_vectorrank_feature
記錄數(shù)字特征以在查詢時(shí)提高命中率。參考 rank_featurerank_features
記錄數(shù)字特征以在查詢時(shí)提高命中率。參考 rank_features