elasticsearch:搜索:前缀、通配符、正则,
全文搜索:
每个字符串都需要被分词,形成倒排索引
match性能较高:扫描倒排索引(表)一旦扫描到便不需要再搜索
前言:
下面的搜索性能都比较差 = 能不用就不用类型
前缀搜索
扫描到了还是有继续搜索,直到扫描完整个倒排索引
GET my_index/my_type/_search
{
"query": {
"prefix": {
"title": {
"value": "C3"
}
}
}
}
通配符搜索
?一个字符
*任意个字符
GET my_index/my_type/_search
{
"query": {
"wildcard": {
"title": {
"value": "*5*5"
}
}
}
}
正则搜索
[0-9] :指定范围内的数字
[a-z] :范围内的字母
. :一个字符
+ :前面的正则可以出现一次或多次
GET /my_index/my_type/_search
{
"query": {
"regexp":{
"title":"C[0-9].+"
}
}
}
后记:
》》 正则用处还是挺多的
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。