我的文件庫

多根目錄側邊欄

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

Atlas 搜索

根據 1.0.0 配置 Atlas Search 操作符、compound/filter、score、highlight、sequence token、paging/count 和 Driver-native 擴展路徑。


基本 Atlas Search
java

$search$searchMeta 必須是聚合管道的第一個階段,因此與一般的 fields(...).end() 流程分開。也可以使用省略 index 的 .search()

Search 操作符

根構建器:textphraseautocompleteequalsexistsinrangecompound

可重用條件:SearchOperators.text/phrase/autocomplete/equals/in/exists/range

Driver-native 根操作符:operator(SearchOperator)

命名的 Driver 包裝器:SearchOperators.driver(name, operator)

java

compound 支持 mustmustNotshouldfilterminimumShouldMatchscore,也可以直接傳遞一般的 AtlasSearchOperator

Text / Phrase / Autocomplete
java

text:路徑、查詢、模糊、匹配標準、同義詞、分數

phrase:路徑、查詢、slop、同義詞、分數

autocomplete:單一路徑、查詢、tokenOrder、模糊、分數

fuzzy(...)synonyms(...) 不會同時使用。

Search 條件和後搜索字段的區別
java

search().fields(...) 不是 $search 內部的過濾器,而是 $search 後的一般 $match。要在搜索索引階段限制候選項,請使用 compound.filter(...)

text
分數和排序
java

scoreDesc()/scoreAsc() 和一般排序的優先級根據調用順序確定。為了穩定的分頁,建議將分數與穩定的唯一字段排序一起使用。

Highlight / 分數詳情 / sequence token
java

基本別名為 highlightsscoreDetailssearchSequenceTokenaddFieldsScoreDetails() 也會啟用搜尋選項的分數詳情。

分頁 / 序列令牌 / 計數
java

count().execute()

post-search fields(...) 和分數閾值反映的最終管道計數。

count().executeSearchMeta()

$searchMeta 元數據計數。支持 SearchCountType.TOTAL/LOWER_BOUND,post-search $match 不會執行。

existsQuery().execute()

檢查搜尋管道結果是否存在一個以上的記錄。

Driver-native 擴展
java

stage(Bson)$search 之後進行,並不適用於 executeSearchMeta()$searchMeta 元數據計數管道。如果新的 Driver 功能比 DSL convenience API 先添加,則優先使用 operatordriverOptionsstageSortSpec.drivercustomizeAggregation

© 2026 Byeolnaerim. 版權所有。介紹隱私政策