亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

協助 MongoDB 計算之本地化排序

發布時間:2020-05-26 07:09:44 來源:網絡 閱讀:105 作者:raqsoft 欄目:大數據

軟件本地化,可讓用戶根據自己的語言環境、使用習慣來選擇不同的語言版本,從而最大限度提高使用體驗。隨著軟件技術的進步,本地化能力得到廣泛支持、不斷向前發展,也成為軟件成熟的重要標志。本文討論的MongoDB本地化排序之路也是從無到有,一點點積累向前發展的。先前版本只能按照UNICODE編碼排序,而不是根據本地語言的編碼排序。后來版本增加了對本地化排序的支持,但它的前提是要在創建集合時進行語言設置,否則無效,而且對已經存儲了數據的集合也無效。通過集算器SPL語言結合MongoDB進行操作則可以方便實現本地化語言的排序(例如:中文按照拼音排序),實現起來也非常容易。下面就用中文例子進行說明:


???????集合person保存了姓名和性別如下:
> db.person.find()
{"_id" : ObjectId("544e4e070f03ad39eb2bf498"), "name" : "宋江","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf499"), "name" : "李逵","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf49a"), "name" : "吳用","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf49b"), "name" : "晁蓋","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf49c"), "name" : "公孫勝","gender":"男" }
{"_id" : ObjectId("544e4e070f03ad39eb2bf49d"), "name" : "魯智深","gender":"男" }
{"_id" : ObjectId("544e4e070f03ad39eb2bf49e"), "name" : "武松","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf49f"), "name" : "阮小二","gender":"男" }
{"_id" : ObjectId("544e4e070f03ad39eb2bf4a0"), "name" : "楊志","gender":"男"}
{"_id" : ObjectId("544e4e070f03ad39eb2bf4a1"), "name" : "孫二娘","gender":"女" }
{"_id" : ObjectId("544e4e070f03ad39eb2bf4a2"), "name" : "扈三娘","gender":"女" }
{"_id" : ObjectId("544e4e080f03ad39eb2bf4a3"), "name" : "燕青","gender":"男"}

???????直接用MongoDB的sort函數,無法按照拼音排序:
> db.person.find({},{"name":1,"gender":1,"_id":0}).sort({"name":1})
{ "name" : "公孫勝","gender":"男" }
{ "name" : "吳用","gender":"男" }
{ "name" : "孫二娘","gender":"女" }
{ "name" : "宋江","gender":"男" }
{ "name" : "扈三娘","gender":"女" }
{ "name" : "晁蓋","gender":"男" }
{ "name" : "李逵","gender":"男" }
{ "name" : "楊志","gender":"男" }
{ "name" : "武松","gender":"男" }
{ "name" : "燕青","gender":"男" }
{ "name" : "阮小二","gender":"男" }
{ "name" : "魯智深","gender":"男" }

???????使用集算器 SPL 的代碼如下:

協助 MongoDB 計算之本地化排序 ? ? ?


A1:連接 MongoDB,連接字格式為 mongo://ip:port/db?arg=value&…。
A2:使用 find 函數從 person 中取數,形成游標,過濾條件是空,指定鍵是 name 和 gender。SPL 的游標是分批讀取和處理數據,可以避免數據量過大,以防內存溢出。
A3:因為數據量不大,所以這里 fetch 出游標的所有記錄。
A4:關閉連接。
A5:使用 sort 按照字段 name 以中文拼音方式升序排序。
運行的結果如下:
???????協助 MongoDB 計算之本地化排序?

?????? sort排序時,可根據需要設置成不同的語言,實現對查詢結果的排序。集算器SPL也支持其他本地化語言,見后面說明。


?????? 需要說明的是:集算器esProc并不包含mongodb的java驅動包。用esProc來訪問mongodb,必須提前將mongodb的java驅動包(例如:mongo-java-driver-2.12.2.jar)放到集算器設置的外部庫目錄extLib\MongoCli下。


?????? 除了在集算器中直接計算,上述使用SPL協助mongodb計算的腳本也很容易集成到java中,只要增加一行,寫成return A5即可向java輸出resultset形式的結果,具體的代碼參考esProc教程。同樣,用java調用esProc訪問mongodb也必須將mongdb的java驅動包放到java程序的classpath中。


???????MongoDB的 java 驅動包下載地址是:
???????https://github.com/MongoDB/mongo-java-driver/releases。

???????集算器 SPL 支持的語言包括:


協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序協助 MongoDB 計算之本地化排序



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海城市| 福州市| 田东县| 江安县| 澄江县| 金溪县| 定州市| 色达县| 沁水县| 新野县| 临沧市| 兰西县| 武陟县| 新和县| 辽中县| 汝城县| 南充市| 唐海县| 灵石县| 浙江省| 肇州县| 宿迁市| 扶余县| 桃江县| 新邵县| 商城县| 安达市| 高邑县| 靖远县| 达日县| 年辖:市辖区| 成都市| 五莲县| 钟祥市| 乌海市| 板桥市| 潼南县| 乐亭县| 资源县| 西藏| 甘南县|