我正在我的網站上構建一個問題功能,用戶可以在其中搜索一個問題,例如:“我如何做蛋糕?” 并獲得其他人之前提出的問題的鏈接,該問題的標題是:“我如何制作蛋糕?” 問題幾乎相同,但寫作不同,現在用戶如果搜索問題 1 搜索,則無法找到問題 2,我只需將搜索欄輸入到collection.find({})
如何解決此問題?是否有一個 API 可以生成相似且相同含義的句子進行搜索?
謝謝!
uj5u.com熱心網友回復:
我不認為這個答案是你想要的搜索引擎,但它是 mongodb 可以做的最好的。
采用$text
- 創建索引
db.articles.createIndex( { subject: "text" } )
- 資料
db.articles.insertMany( [
{ _id: 1, subject: "coffee", author: "xyz", views: 50 },
{ _id: 2, subject: "Coffee Shopping", author: "efg", views: 5 },
{ _id: 3, subject: "Baking a cake", author: "abc", views: 90 },
{ _id: 4, subject: "baking", author: "xyz", views: 100 },
{ _id: 5, subject: "Café Con Leche", author: "abc", views: 200 },
{ _id: 6, subject: "Сырники", author: "jkl", views: 80 },
{ _id: 7, subject: "coffee and cream", author: "efg", views: 10 },
{ _id: 8, subject: "Cafe con Leche", author: "xyz", views: 10 }
] )
- 詢問
db.articles.find( { $text: { $search: "coffee" } } )
- 結果
{ _id: 1, subject: 'coffee', author: 'xyz', views: 50 },
{ _id: 7, subject: 'coffee and cream', author: 'efg', views: 10 },
{ _id: 2, subject: 'Coffee Shopping', author: 'efg', views: 5 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/432399.html
標籤:javascript mongodb 猫鼬 mongodb查询 搜索引擎
