簡體   English   中英

如何為復雜的mongodb搜索設計數據庫模式

[英]How to design db schema for complex mongodb searching

目前,我的文檔(架構)看起來像這樣。

var Schema = {
    name: "fish",
    location: "United States, Michigan, Ann Arbor",
    description: {
        en: "newspaper",
        de: "zeitung",
        ch: "報紙"
    }
}   

我設置了一個文本索引,如下所示:

db.collection.createIndex( { "$**": "text" } )

最佳的情況是,即使用戶搜索的“報紙”不完全相同,也可以正常工作。

db.collection.find({$text: {$search: "newspapers"}})  // ( ͡◉ ͜ʖ ͡◉)

但是,當短語使用unicode字符或非英語時,搜索不會返回上述文檔。

db.collection.find({$text: {$search: "zeitungen"}})  // no result
db.collection.find({$text: {$search: "大報紙"}})      // no result
db.collection.find({$text: {$search: "news"}})      // no result

有誰知道如何解決這個問題? 在mongodb中可以解決嗎?

您可以看一下mongodb的ful文本搜索。 它可能對您有幫助,但是它不能替代Elastic serach,solr,但可以解決您的問題。 [參考] :( https://docs.mongodb.org/manual/reference/operator/query/text/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM