v1.0 版本的新功能
Meilisearch 的第一個主要版本穩定了 CLI、增強了安全性,並承諾在下一個主要版本之前不會有破壞性的變更。

我們很高興地宣布 Meilisearch 的第一個主要版本終於推出了!這是許多人共同努力的成果。我們很榮幸發布一個完全穩定的 Meilisearch 版本,它將保證與 Meilisearch 未來版本的相容性。我們非常感謝我們的社群,他們一直支持我們並幫助我們走到這一步。
讓我們來看看一些最重要的變更。您可以在 GitHub 上閱讀完整的變更日誌,但我們將在本文章中介紹主要的變更。
新功能:韓語支援
Meilisearch 支援多種語言,並針對多種語言進行了最佳化支援。感謝我們出色的貢獻者 qbx2,我們現在也支援韓語了。
改進:語言支援
感謝我們全球社群的參與、回饋、建議和 PR,我們全面改進了語言支援,其中中文的改進尤其顯著
我們一直在尋求改進,請加入 GitHub 上關於中文支援的討論!
我們還實施了一個新的、更高效的正規化器,以刪除重音和其他非間隔標記,這完善了對希伯來語、泰語、阿拉伯語和拉丁語的支援。
改進:一步升級
Meilisearch v0.20 或更早版本的用戶必須執行兩步驟遷移,才能使用 0.24 以上的任何版本的資料庫。直到現在。
v1.0 與所有先前版本的傾印相容。
我們簡化了流程,以便任何人都可以順利遷移到我們的第一個主要版本!請查看我們文件中更新指南。
改進:索引和搜尋速度
- 我們減少了包含多個長詞的搜尋請求的記憶體使用量。
- 我們還降低了精確度排名規則的計算複雜度,並實施了快取系統,從而顯著提高了其效能,特別是對於包含多個詞的搜尋查詢。
- 在解釋搜尋查詢時,多字同義詞不再被視為常規搜尋查詢詞,而是被視為片語。假設您將舊金山和 SF 設定為同義詞。以下搜尋請求
我很快要去舊金山
現在會被解釋為
我很快要去「舊金山」
此變更可防止包含多字同義詞的請求超出字詞長度限制並降低搜尋效能。同時,它消除了阻斷服務攻擊的來源,並提高了搜尋結果的相關性。 - 我們調整了以字首或非常短的字詞結尾的搜尋請求的鄰近度規則的行為,以實現顯著的速度改進。
- 在 v1.0 之前,如果設定物件包含可搜尋的屬性,則更新設定始終會觸發重新索引。現在,Meilisearch 會檢查是否已進行任何變更,以避免不必要的重新索引。非常感謝 GregoryConrad 實作此功能!
破壞性變更
您會很高興得知以下是我們在 v2.0 之前將引入的最後一次破壞性變更 🥳 您可以放鬆一下,v2.0 尚未規劃 ☺️
請查看我們的新版本控制政策,以了解有關破壞性變更的更多資訊。
新的主金鑰安全性要求
為了加強安全性,當伺服器環境設定為 production
時,Meilisearch 現在要求主金鑰至少為 16 個位元組。如果未提供任何金鑰或金鑰不符合標準,Meilisearch 會建議您在重新啟動執行個體時可以使用的安全自動產生主金鑰。
主索引鍵推斷改版
在建立索引或將文件新增至 Meilisearch 時,您可以明確設定主索引鍵,或讓 Meilisearch 從您的資料集中推斷它。
為了猜測主索引鍵(也稱為推斷),Meilisearch 過去會在您的第一個文件中尋找包含字串 id
的屬性。現在,它會尋找以字串 id
結尾的屬性。
此外,如果偵測到多個以 id
結尾的屬性,Meilisearch 現在會擲回錯誤,要求您使用更新索引端點手動指定主索引鍵。
新的 CLI 行為
已移除 --max-index-size
和 --max-task-db
,因為它們實際上並未限制 Meilisearch 佔用的磁碟空間。此變更有兩個後果
- 由於作業系統對單一程序可配置的虛擬記憶體量有限制,Meilisearch 資料庫中可以同時存在的索引數量為
- Linux/MacOS 約為 200 個
- Windows 約為 20 個
2.索引的大小限制為 500GiB
雖然我們計劃在 v1.1 中解除上述限制,但如果這些變更中的任何一個影響到您,請提供您的意見將非常有幫助。您可以在這個GitHub 討論中找到更多詳細資訊。
自 v0.26 中引入以來,自動批次處理功能已證明其價值。已移除 disable-auto-batching
CLI 選項和相關的環境變數 MEILI_DISABLE_AUTO_BATCHING
,它們之前為了除錯目的而保留,現在已不再需要。
我們也將移除 --snapshot-interval-sec
旗標,以簡化排程快照。
之前:
meilisearch --schedule-snapshot --snapshot-interval-sec 3600
之後
meilisearch --schedule-snapshot 3600 # If no value is provided, Meilisearch will take a new snapshot every 24 hours.
最後,為了保持一致性,已將 --dumps-dir
CLI 選項重新命名為 --dump-dir
,這更符合慣用性並與其他現有選項一致。
錯誤處理改進
為了在使用 API 時提供更高的清晰度和可預測性,我們新增了細微的錯誤代碼和新的 system
錯誤類型。您可以在變更日誌中查閱詳細清單。
貢獻者
非常感謝我們所有的貢獻者!沒有您的支持,我們不可能達到這個里程碑。你們真的很棒,我們非常感謝你們為 Meilisearch 付出的所有努力、建議、評論和時間。我們非常感謝有這樣一個了不起的社群。
這個月,我們要特別感謝 @amab8901、 @colbsmcdolbs、 @elbertronnie、 @funilrys、 @jiangbo212、 @mohitsaxenaknoldus 和 @shivaylamba 對於 Meilisearch 的協助,以及感謝 @amab8901、 @GregoryConrad 和 @pnhatminh 對 Milli 的貢獻。同樣地,我們也要感謝 @choznerol、 @crudiedo、 @daniel-shuy、 @harshalkhachane、 @mosuka、 @qbx2、 @Roms1383、 @Sokom141 和 @yenwel 對 Charabia 的寶貴支持。