ES筆記七:filter和match的區別


filter與query對比大解密

filter,僅僅只是按照搜索條件過濾出需要的數據而已,不計算任何相關度分數,對相關度沒有任何影響
query,會去計算每個document相對於搜索條件的相關度,並按照相關度進行排序

一般來說,如果你是在進行搜索,需要將最匹配搜索條件的數據先返回,那么用query;如果你只是要根據一些條件篩選出一部分數據,不關注其排序,那么用filter
除非是你的這些搜索條件,你希望越符合這些搜索條件的document越排在前面返回,那么這些搜索條件要放在query中;如果你不希望一些搜索條件來影響你的document排序,那么就放在filter中即可

filter與query性能

filter,不需要計算相關度分數,不需要按照相關度分數進行排序,同時還有內置的自動cache最常使用filter的數據
query,相反,要計算相關度分數,按照分數進行排序,而且無法cache結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM