在Azure搜索中,是否有辦法將資料orderby值帶到頂部,其余的在下面。把用戶所在國家的酒店帶到頂部,然后再把其他結果帶到頂部
例如。 請看下面的樣本資料
| 酒店名稱 | 城市 | 國家房間型別評級|||
|---|---|---|---|---|
| XYZ | City1印度 | 4 | UVW | City25 |
我想獲得所有的資料,但是國家印度應該在結果的最上面,其余的應該在下面。(這包括分頁)。
我正在做Lucene查詢POST搜索,下面是我的查詢json體。
查詢。{ search: *, queryType: 'full', count: true, skip: 0, top: 10, scoringStatistics: 'global', searchMode: 'any', }
uj5u.com熱心網友回復:
我相信如果你在你的搜索中包括國家,應該可以作業,例如:
search=term or (term and Country eq 'India')
https://stackoverflow.com/a/44766731/1384539
uj5u.com熱心網友回復:
你應該考慮在搜索中使用geo.distance函式,基本上在查詢時,你需要在函式中把當前用戶的位置作為edm.GeographyPoint傳遞,然后在對結果排序時,你可以按照離用戶最近到最遠的位置來排序。 關于這一點的檔案,你也會看到一些例子 https://docs.microsoft.com/en-us/azure/search/search-query-odata-geo-spatial-functions
POST /indexes/hotels/docs/search? api-version=2020-06-30。
{
"搜索"。"*",
"orderby": "geo.distance(Location, geography'POINT(-122.12315 47.88121)')"。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/332574.html
標籤:
上一篇:如何使用HASHMAP發送資料
