es 全文查詢
阿新 • • 發佈:2020-12-02
搜尋匹配所有matchAllQuery、全文查詢[matchQuery、multiMatchQuery、commonTerms...
- 匹配所有
最簡單的查詢,匹配所有文件,給它們一個_score 1.0。
QueryBuilder qb = matchAllQuery();
- 匹配查詢:用於執行全文查詢的標準查詢,包括模糊匹配和短語或鄰近查詢。//查詢出包含 value 的資料 或者包含不連續的字元
QueryBuilder qb = matchQuery("field","value" ); 示例:查詢:QueryBuilder qb = matchQuery("name", "張三"); 結果 資料:{"address":"benjing","age":"12","name":"張三2"} 資料:{"address":"benjing","age":"12","name":"aa張三3","num":12} 資料:{"address":"benjing","age":"12","name":"張愛三","num":12} 資料:{"address":"benjing","age":"12","name":"張三3"} 資料:{"address":"benjing","age":"12","name":"李巨集旭 張三3","num":12} 資料:{"address":"benjing","age":"12","name":"張四","num":12}
- 多匹配查詢:multi_match查詢,匹配查詢的多欄位版
QueryBuilder qb = multiMatchQuery(
"kimchy elasticsearch", //值
"user", "message" //欄位
);
示例:查詢:QueryBuilder qb = multiMatchQuery("張三 12", "name","age");
結果
資料:{"address":"benjing","age":"1","name":"張三"}
資料:{"address":"benjing","age":"12","name":"張三2"}
資料:{"address":"benjing","age":"12","name":"aa張三3","num":12}
資料:{"address":"benjing","age":"12","name":"張愛三","num":12}
資料:{"address":"benjing","age":"12","name":"張三3"}
資料:{"address":"benjing","age":"12","name":"李巨集旭 張三3","num":12}
資料:{"address":"benjing","age":"12","name":"王五","num":3}
資料:{"address":"benjing","age":"12","name":"張四","num":12}
資料:{"address":"benjing","age":"12","name":"王五"}
-
common_terms查詢:一個更專業的查詢,它提供了對不常見單詞的更多偏好
QueryBuilder qb = commonTermsQuery("field","value");
示例:查詢:QueryBuilder qb = commonTermsQuery("name", "張三");
結果:
資料:{"address":"benjing","age":"1","name":"張三"}
資料:{"address":"benjing","age":"12","name":"張三2"}
資料:{"address":"benjing","age":"12","name":"aa張三3","num":12}
資料:{"address":"benjing","age":"12","name":"張愛三","num":12}
資料:{"address":"benjing","age":"12","name":"張三3"}
資料:{"address":"benjing","age":"12","name":"李巨集旭 張三3","num":12}
-
query_string查詢:支援緊湊的Lucene查詢字串語法,允許您在單個查詢字串中指定AND | OR | NOT條件和多欄位搜尋。僅限專家使用者
QueryBuilder qb = queryStringQuery("+kimchy -elasticsearch"); //value
-
simple_query_string:query_string語法的更簡單,更健壯的版本,適合直接向用戶公開
QueryBuilder qb = simpleQueryStringQuery("+kimchy -elasticsearch");//value