0
直接在數據庫中,我得到我的結果上使用此命令後MongoMapper - 全文檢索
db.products.find({$text: {$search: "some product"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})
但在MongoMapper我得到的錯誤使用它。 沒有得分字段的搜索不會產生任何錯誤
@products = Product.where(
'$text' => {'$search' => @search_string}
)
然而,當我嘗試添加排序字段是從哪裏獲得的問題
@products = Product.where(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
蒙戈:: OperationFailure在/搜索未知運營商:$ meta
它也無法使用原始查詢方法
@products = MongoMapper.database['products'].find(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
我試圖運行完整查詢
@products = Product.where(
'$text' => {'$search' => @search_string},:score => {'$meta' => "textScore"}
).sort(:score => {'$meta' => "textScore"}).limit(5)
這給了錯誤
蒙戈:: OperationFailure在/搜索必須有$元投影所有$元排序鍵
有沒有人有我的錯在哪裏的建議?我認爲我錯了。
安裝的版本。 mongo_mapper(0.14.0,0.13.1)