當前位置:成語大全網 - 英語詞典 - es(4)—查詢條件match和term

es(4)—查詢條件match和term

而文檔在倒排索引中存儲的是什麽值呢?可以通過下面uri進行分析:

有上圖可知,倒排索引存儲的值實際上是 es 和 book ,而不是 es book 。

註意: 因為是默認被standard analyzer分詞器分詞,大寫字母全部轉為了小寫字母,並存入了倒排索引以供搜索。term是確切查詢, 所以傳入的條件要和倒排索引保持壹致。

需要註意的是,倒排索引中存儲的值為大寫的 ES BOOK 。

使用term查詢時,查詢條件不會進行分詞。但是 text 類型的數據,在倒排索引中實際存儲的是分詞的數據。

term條件的區分大小寫,而實際上,text數據經過默認的standard analyzer分詞器分詞,大寫字母全部轉為了小寫字母,並存入了倒排索引以供搜索。

故不推薦使用term去查詢text類型。

term去查詢keyword的數據,均不會進行分詞,但是需要註意大小寫

match查詢text類型時,其本質的操作為or。

可等效為:

並且match匹配時,底層分詞器會將條件轉換為小寫,故和text的倒排索引的大小寫保持壹致。即不區分大小寫。

上文說到,match默認使用or的操作。那麽如何替換為and操作?

查詢到的數據即包含JAVA 也要包含BOOK。

但是非精確匹配。

導入數據

再次執行時,依舊可以查詢到 JAVA AND NET BOOK 數據。

and操作,是要求倒排索引中即要包含 java 也需要包含 book 。

match查詢keyword操作時,等效term

當match查詢text類型時,在底層將會被轉換為term操作。

將被轉換為: