結構化資料
結構化搜尋(structured search) 是指對結構化資料的搜尋
⽇期,布林型別和數字都是結構化的
⽂本也可以是結構化的。
如彩⾊筆可以有離散的顏⾊集合: 紅(red) 、 綠(green) 、 藍(blue)
⼀個部落格可能被標記了標籤,例如,分布式(distributed) 和 搜尋(search)
電商⽹站上的商品都有 upcs(通⽤產品碼 universal product codes)或其他的唯⼀標
識,它們都需要遵從嚴格規定的、結構化的格式。
es 中的結構化搜尋
布林,時間,⽇期和數字這類結構化資料:有精確的格式,我們可以對這些格式進⾏邏輯操
作。包括⽐較數字或時間的範圍,或判定兩個值的⼤⼩。
結構化的⽂本可以做精確匹配或者部分匹配
term 查詢 / prefix 字首查詢
結構化結果只有「是」或「否」兩個值
根據場景需要,可以決定結構化搜尋是否需要打分
#對布林值 match 查詢,有算分
post products/_search}}
,
"hits" : ,
"max_score" : 0.35667494,
"hits" : [
,"_explanation" : ,,]
},,,,
,]}]
}]}},
,"_explanation" : ,,]
},,,,
,]}]
}]}},
,"_explanation" : ,,]
},,,,
,]}]
}]}}
]},
"profile" : }],
"rewrite_time" : 2736,
"collector" : []}
]}
],"aggregations" : [ ]}]
}}
#對布林值,通過constant score 轉成 filtering,沒有算分
post products/_search}}
}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [
,"_explanation" : },,
"_explanation" : },,
"_explanation" : }]
},"profile" : ,
"children" : [}]
}],
"rewrite_time" : 3907,
"collector" : []}
]}
],"aggregations" : [ ]}]
}}
#數字型別 term
post products/_search}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [
,"_explanation" : },,
"_explanation" : }]
},"profile" : }],
"rewrite_time" : 2565,
"collector" : []}
]}
],"aggregations" : [ ]}]
}}
#數字型別 terms
post products/_search}}
}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [
},},}]
}}
#數字 range 查詢
gt ⼤於
lt ⼩於
gte ⼤於等於
lte ⼩於等於
get products/_search}}
}}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [
},},}]
}}
# 日期 range
y 年m 月
w 周d 天
h / h 小時
m 分鐘
s 秒post products/_search}}
}}}
,
"hits" : ,
"max_score" : null,
"hits" : [ ]
}}
範圍查詢中的日期格式
預設使用設定在日期欄位中的format引數解析格式化日期,但是,此引數可以通過在範圍查詢中設定format引數來進行覆蓋。
post products/_search}}
}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [}]
}}
範圍查詢中的時區
通過在日期值中指定時區或使用time_zone引數指定時區,可以轉換日期時區。
post products/_search}}
}gte引數的日期值將會被轉化為2014-12-31t23:00:00 utc
now不會被time_zone引數影響(日期必須儲存為utc)
#exists查詢(空值排除)
post products/_search}}
}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [},}
]}}
#(不包含日期的)
post products/_search}}
}}}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [},}
]}}
#處理多值字段,term 查詢是包含,而不是等於
post movies/_search}}
}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [
},},
},},
},},
},},},}
]}}
#字元型別 terms
post products/_search}}
}}
,
"hits" : ,
"max_score" : 1.0,
"hits" : [},}
]}}
ElasticSearch 結構化搜尋
結構化結果只能有 是 和 否 兩個值 根據場景需要,可以決定結構化搜尋是否需要打分 準備資料delete products post products bulk 對布林型的值做結構化的搜尋post products search 布林型的值做結構化的搜尋 跳過算分post products sear...
elasticsearch筆記 結構化搜尋 四
結構化搜尋 structured search 是指有關探詢具有內在結構資料的過程。比如日期 時間和數字都是結構化的 它們有精確的格式,我們可以對這些格式進行邏輯操作。比較常見的操作包括比較數字或時間的範圍,或判定兩個值的大小。注意 對於結構化文字來說,乙個值要麼相等,要麼不等.select doc...
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...