目前我的文档(架构)看起来像这样。
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解决吗?
答案 0 :(得分:1)
你可以看看mongodb的全文搜索。它可能会对你有所帮助,它不是替代Elastic serach,solr但它可以解决你的问题。 [参考文献]:(https://docs.mongodb.org/manual/reference/operator/query/text/)