一.精確搜尋,多個精確搜尋
1.term
查詢
term
查詢可以用它處理數字(numbers)、布林值(booleans)、日期(dates)以及文字(text).
使用bulk建立檔案文件
post /my_store/products/_bulk}}
}}}term處理數字:
在 elasticsearch 的查詢表示式(query dsl)中,使用term
查詢會查詢我們指定的精確值。
constant_score
: 查詢以非評分模式
get /my_store/products/_search}}
}}
term處理文字:在處理文字的時候,es的analyze
api會把文字才分成乙個單詞,大寫的會變成小寫,特殊的字元會進行過濾
例如 :"xhdk-a-1293-#fj3" 會才分成 "xhdk", "a","1293","fj3"
可以使用 get //_analyze 語法進行查詢才分的情況,如下
get /my_store/_analyzeterm的文字查詢
get /my_store/products/_search}}
}}2.多個精確搜尋
多個精確搜尋,只要在term
後面加個s
get /my_store/products/_search}}二.組合過濾器}}
1.bool查詢
bool
(布林)過濾器。 這是個 復合過濾器(compound filter) ,它可以接受多個其他過濾器作為引數,並將這些過濾器結合成各式各樣的布林(邏輯)組合。
bool
過濾器由三部分組成:
}
must
: 所有的語句都 必須(must) 匹配,與and
等價。
must_not
: 所有的語句都 不能(must not) 匹配,與not
等價。
should
: 至少有乙個語句要匹配,與or
等價.
如此sql:
select product from products
where (price = 20 or productid = "xhdk-a-1293-#fj3")
and (price != 30)
elasticsearch中用bool表達此sql的語句 如下:
get /my_store/products/_search三.範圍查詢}, }
],"must_not" : }}
}}
}}
range
查詢
range
查詢可同時提供包含(inclusive)和不包含(exclusive)這兩種範圍表示式,可供組合的選項如下:
如下事例:
get /my_store/products/_search}}
}}}四.處理null值
1.exists
exists
:判斷不是null 與sql的 is not null 相同
使用es的exists
表示 tags is not null的判斷
select tags如下from posts
where tags is not null
get /my_index/posts/_search}}2.}}
missing :
判斷是null 與sql的 is null 相同
使用es的missing
表示 tags is null的判斷
select tags如下:from posts
where tags is null
get /my_index/posts/_search}}}}
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...
第九章作業
班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...
第九章 引用
引用擁有指標的所有功能,只是語法更加的簡單 1 引用就是別名,變數的另外乙個名字,變數和別名它們的位址是一樣的,操作別名就是操作變數 2 引用就是別名常量,一旦引用被初始化就不能再改變了 可以理解為指標常量,指向的值不能改變,能改變的只是它的該位址處的值 3 引用物件huamn mike human...