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

附近人搜索

OpenSearch支持類似附近人或地點的搜索。如果希望按照地點或附近人傳入的坐標,那么可以使用本文介紹的方式,提高搜索效率,也同時提供排序功能。

解決方案

  1. 配置GEO_POINT類型的應用結構字段以及地理位置索引,用于檢索,召回結果。

  2. GEO_POINT類型的字段設置數據源處理插件。

  3. 搜索測試語法介紹,添加排序功能介紹。

配置步驟

1.創建應用結構配置

在OpenSearch應用結構表中增加lon和lat的DOUBLE類型地理位置坐標,再創建一個GEO_POINT類型的company_lon_lat字段(字段名稱自定義) 。索引結構定義中,為company_lon_lat設置分析器為地理位置分析器,并添加為屬性字段。123完整創建應用流程請參考文檔:快速搭建應用

2.數據源配置

字段映射時,將company_lon_lat這個應用結構字段配置StringCatenateExtractor插件,將現有的經度字段lon和緯度字段lat,聯合起來。通過空格聯合,生成到目標字段company_lon_lat。

4

注意:目標字段company_lon_lat的映射字段可忽略:

5

插件具體說明請參考文檔:數據源插件說明

3.搜索測試

例如query=name:'Alibaba' AND company_lon_lat:'circle(116.5806 39.99624, 1000)'說明:表示查詢公司名為Alibaba,并且在坐標’116.5806 39.99624’附近1000米(1公里)以內的文檔。語法query=spatial_index:'circle(LON LAT,Radius)'

  • LON表示經度,LAT表示緯度,Radius為半徑,單位米;半徑10公里內性能最佳,超過10公里性能會大幅變差。

  • 具體功能及語法可參考文檔:Range范圍查詢

4.新增精排表達式

其中距離排序也可以采用如下方式實現,用戶坐標通過kvpairs傳遞: kvpairs=longtitude_in_query:120.34256, latitude_in_query:30.56982

精排表達式為:

-distance(longitude_in_doc,latitude_in_doc,longtitude_in_query, latitude_in_query, distance_value)

語法說明:

distance(location1, location2, outputname, defaultvalue)

參數說明:

  • location1: GEO_POINT類型的字段名稱

  • location2: 用戶查詢串中kvpairs字句中設置的一個字段名,值為GEO_POINT字段要求的格式:LON LAT

  • outputname:如果需要在結果中返回距離值,可以通過制定outputname值得到,如果不需要,可以不指定。

  • defaultvalue: 用于指定當文檔中location1的值非法時,distance返回的距離值,可以不指定,不指定時默認返回100000

說明:示例中long_lat_in_query需要在kvpairs中設置,例如:kvpairs=long_lat_in_query:120.34256 30.56982