elasticsearch 初使用03 高階查詢

2021-09-24 07:25:07 字數 1621 閱讀 7024

es的高階查詢分為兩種:

子條件查詢分為兩種:

在查詢過程中,除了判斷文件是否滿足查詢條件外,es還會計算乙個_score來標識匹配的程度,旨在判斷目標文件和查詢條件匹配的有多好

以下為全文本查詢

1.1.1 模糊匹配查詢 match

複製**

127.0.0.1:9200/book/_search     post請求	}}

複製**

1.1.2 短語匹配 match_phrase

複製**

短語匹配,即精確匹配,但並不能保證一定能匹配到正確的結果,因為分詞的結果可能會有變動 s關於elasticsearch 使用 matchphrase搜尋的一些坑

127.0.0.1:9200/book/_search     post請求	}}

複製**

1.1.3 多欄位查詢 multi_match

複製**

127.0.0.1:9200/book/_search     post請求	}}

複製**

1.1.4 語法查詢 query_string

複製**

(harvey and tuan) 指的是將查詢內容分詞後,分為harvey 和 tuan, or 指的是或者滿足之後的條件的內容查詢

127.0.0.1:9200/book/_search     post請求	}}

複製**

多欄位模糊匹配	}}

複製**

以下為字段級別查詢字段級別查詢,即結構化資料查詢

使用term具體項來查詢

127.0.0.1:9200/book/_search post請求 }}

範圍查詢,gte >=, lte<=

} }}複製**

在查詢過程中,只判斷該文件是否滿足條件,只有yes或no,用來作資料過濾用。返回的資料中只有完全匹配的資訊才會展示。而且es會對filter的資料進行快取。因此經常將兩者結合起來一起使用。

127.0.0.1:9200/book/_search     post請求

}} }

}複製**

常用的查詢有

將匹配查詢到內容中的 _score 固定化,只支援filter查詢。

127.0.0.1:9200/book/_search     post請求

},"boost" : 2

} }}如果加上boost引數,則可以指定固化的分數值,不指定預設為1

複製**

布林查詢,

should ---兩者任意match即可,

must --- 兩者都同時匹配才可以,

must_not --- 兩者都不符合的才可以},}

]} }

}複製**

ElasticSearch中索引模板的使用

elasticsearch 不要求你在使用乙個索引前建立它。對於日誌記錄類應用,依賴於自動建立索引比手動建立要更加方便。logstash 使用事件中的時間戳來生成索引名。預設每天被索引至不同的索引中,因此乙個 timestamp 為 2014 10 01 00 00 01 的事件將被傳送至索引 lo...

ELK使用1 Elasticsearch使用

一 es 1 通過curl命令獲取es 資訊 a curl i 設定協議的頭資訊 xget http 192.168.30.41 9200 count b 檢視集群狀態 curl xget c cat api,可以檢視所有東西 curl xget a marvel agent b 安裝head外掛程...

vector容器的初使化

建構函式語法 1.vector 無引數 構造乙個空的vector 2.vector size type num,const type val 數量 num 和值 val 構造乙個初始放入num個值為val的元素的vector 3.vector const vector from vector fro...