日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Range范圍查詢

更新時(shí)間:

功能應(yīng)用場(chǎng)景

在很多業(yè)務(wù)場(chǎng)景中會(huì)涉及到區(qū)間范圍查詢的需求,比如常見(jiàn)的O2O業(yè)務(wù)中會(huì)基于搜索用戶所在地理位置的某個(gè)范圍內(nèi)的商家進(jìn)行查詢;商品搜索中也會(huì)有基于商品最低和最高價(jià)格區(qū)間的查詢;還有后臺(tái)類大數(shù)據(jù)檢索場(chǎng)景中也會(huì)有查找某個(gè)時(shí)間段內(nèi)的結(jié)果需求。

使用方法

實(shí)現(xiàn)range查詢總共分3步:

1.在定義應(yīng)用結(jié)構(gòu)中對(duì)需要range查詢的字段進(jìn)行相關(guān)的字段類型配置。

只有以下字段類型可支持range查詢,請(qǐng)按需求進(jìn)行配置。

字段類型

說(shuō)明

系統(tǒng)限制

INT

int64類型整數(shù), 支持INT類型數(shù)據(jù)的范圍查詢。

最多只能有4個(gè)字段為該類型。

TIMESTAMP

大于等于0的整數(shù)時(shí)間戳,單位為毫秒(存儲(chǔ)支持毫秒,查詢精度只到秒級(jí),后3位數(shù)值默認(rèn)為000)。提供時(shí)間戳類型數(shù)據(jù)的范圍查詢。

最多只能有4個(gè)字段為該類型。

GEO_POINT

字符串類型,格式為:lon lat。lon表示經(jīng)度,lat表示緯度,都為double類型,二者之間用空格分隔。lon的范圍:[-180, 180], lat范圍[-90, 90]。

最多只能有2個(gè)字段為該類型。

2.在定義索引結(jié)構(gòu)中對(duì)步驟1類型的字段創(chuàng)建索引并指定相關(guān)分析器。

TIMESTAMP字段、GEO_POINT字段和INT類型的字段可創(chuàng)建單字段索引,但是不可創(chuàng)建組合索引。

這三個(gè)字段創(chuàng)建的索引應(yīng)選擇的分析器及含義可參見(jiàn)下表。

單字段索引包含的字段類型

實(shí)現(xiàn)range查詢的分析器名稱

分析器釋義

INT

數(shù)值分析

分詞方式:不分詞索引類型:需要范圍查詢的數(shù)值索引。

TIMESTAMP

數(shù)值分析

分詞方式:不分詞索引類型:需要范圍查詢的數(shù)值索引。

GEO_POINT

地理位置

分詞方式:不分詞索引類型:需要范圍查詢的數(shù)值索引。

3.在查詢中使用range查詢語(yǔ)法實(shí)現(xiàn)區(qū)間查詢。

(1)INT與TIMESTAMP的范圍查詢

INT的范圍查詢語(yǔ)法與TIMESTAMP類型的語(yǔ)法相同,支持的查詢語(yǔ)法如下:

        index:[number1,number2]// number1 <= index <= number2
        index:[number1,number2)//  number1 <= index < number2
        index:(number1,number2]//  number1 < index <= number2
        index:(number1,number2)//  number1 < index < number2
        index:(,number2)// index < number2
        index:(number1,)// index > number1
        index:(,number2]// index <= number2
        index:[number1,)// index >= number1

注意:索引冒號(hào)后面不能加引號(hào)。

例如:

在商品中搜索 價(jià)格在100-200 RMB“連衣裙”:

query=index_text:'連衣裙' AND index_price:[100,200]

在新聞中搜索 2019年6月1日-2019年6月3日之間的關(guān)于“北京”的新聞:

query=index_text:'北京' AND index_timestamp:[1559318400000,1559577599000]

(2)GEO_POINT的范圍查詢

目前查詢只支持點(diǎn)、圓、矩形的查詢,語(yǔ)法如下:

  • 查詢點(diǎn):query=spatial_index:'point(LON LAT)'

LON為經(jīng)度,LAT為緯度。如:query=spatial_index:’point(116.3906 39.92324)’,查詢與這個(gè)坐標(biāo)一樣的文檔。

  • 查詢圓內(nèi)的點(diǎn),可以用于附近若干公里的點(diǎn)查詢

query=spatial_index:'circle(LON LAT,Radius)'

LON表示經(jīng)度,LAT表示緯度,Radius為半徑,單位米;半徑10公里內(nèi)性能最佳,超過(guò)10公里性能會(huì)大幅變差。例如:query=spatial_index:'circle(116.5806 39.99624, 1000)',查詢?cè)谧鴺?biāo)’116.5806 39.99624’附近1000米(1公里)以內(nèi)的文檔。

  • 查詢矩形內(nèi)的點(diǎn):

query=spatial_index:'rectangle(minX minY,maxX maxY)'

緯度上,maxY>=minY,如果寫反了,會(huì)自動(dòng)調(diào)整; 經(jīng)度上,minX到maxX是由西向東理解的,如果寫反了,代表的范圍就不對(duì)了。例如:rectangle(116.3906 39.92324, 116.3907 39.92325),查詢?cè)谶@兩個(gè)坐標(biāo)組成的矩形內(nèi)的文檔。

使用限制

  • TIMESTAMP字段類型的查詢精度范圍為從1970-01-01 00:00到2100-01-01 00:00之間的毫秒時(shí)間戳(存儲(chǔ)支持毫秒,查詢精度只到秒級(jí),后3位數(shù)值默認(rèn)為000),即[0, 4102416000000]。超過(guò)4102416000000的值都當(dāng)作4102416000000處理。如果需要區(qū)分大于4102416000000的時(shí)間,需要加filter做過(guò)濾。

  • 數(shù)值分析索引在做范圍查詢時(shí),區(qū)間值后面的數(shù)字需要大于或等于前面的值,否則會(huì)報(bào)語(yǔ)法錯(cuò)誤(6112,Query clause error)

  • GEO_POINT字段類型精度范圍為,經(jīng)度:-180~180,緯度-90~90

  • 在ha3 schema場(chǎng)景下,range索引支持個(gè)數(shù):獨(dú)享型支持8個(gè),共享型支持4個(gè)