內建排名規則

    Meilisearch 中有兩種排名規則:內建排名規則和自訂排名規則。本文描述使用和設定自訂排名規則的主要面向。

    內建排名規則是 Meilisearch 相關性計算的核心。

    內建排名規則列表

    Meilisearch 包含六個內建排名規則,順序如下

    [
      "words",
      "typo",
      "proximity",
      "attribute",
      "sort",
      "exactness"
    ]
    

    您可能會想根據您的需求變更此順序。若要變更,請使用更新設定端點更新排名規則端點

    1. 詞語

    結果會依據匹配的查詢詞彙數量遞減排序。會優先傳回包含所有查詢詞彙的文件。

    注意

    words 規則會由右向左運作。因此,查詢字串的順序會影響結果的順序。

    例如,如果有人搜尋 batman dark knightwords 規則會將包含所有三個詞彙的文件排在第一位,將只包含 batmandark 的文件排在第二位,並將只包含 batman 的文件排在第三位。

    2. 錯字

    結果會依據錯字數量遞增排序。會優先傳回與查詢詞彙匹配且錯字較少的文件。

    3. 相近度

    結果會依據匹配的查詢詞彙之間的距離遞增排序。會優先傳回查詢詞彙彼此靠近,且順序與查詢字串相同的文件。

    可以降低此排名規則的精確度。這可能會大幅改善索引效能。在少數情況下,降低精確度也可能會導致使用多個搜尋詞彙的查詢搜尋相關性較低。

    4. 屬性

    結果會根據屬性排名順序排序。會優先傳回在較重要屬性中包含查詢詞彙的文件。

    此外,請注意,屬性開頭包含查詢詞彙的文件,會被認為比屬性結尾包含查詢詞彙的文件更相關。

    5. 排序

    結果會依據查詢時決定的參數排序。當 sort 排名規則的位置較高時,排序會是詳盡的:結果的相關性較低,但會更緊密地遵循使用者定義的排序順序。當 sort 的位置較低時,排序會是相關的:結果的相關性會很高,但可能不總是遵循使用者定義的順序。

    注意

    與其他排名規則不同,排序僅對包含sort 搜尋參數的查詢有效。如果搜尋請求未包含 sort,或其值無效,則會忽略此規則。

    6. 精確度

    結果會依據匹配的詞語與查詢詞語的相似度排序。會優先傳回包含與查詢完全相同詞彙的文件。

    範例

    Demonstrating the typo ranking rule by searching for 'vogli'

    錯字
    • vogli:0 個錯字
    • volli:1 個錯字

    typo 規則會依據匹配的查詢詞彙錯字數量遞增來排序結果。