数据库MongoDB因为它为文档存储性质和功能强大,受到了越来越多的程序员的青睐。MongoDB还提供了十分强大的索引机制来极大地提高读取效率,有效地解决中文检索的问题,也是MongoDB成为受欢迎的原因之一。
MongoDB中有两种索引类型。第一种是基于普通索引,它把文档存储到索引结构中,并定义哪些文档字段或者字段中的哪些部分可以用来查询,这样就可以方便地根据文档字段查询到相关文档。第二种是基于文本索引,它会将文档根据索引结构存储在index collection中,可以使用它们将文档字段中的文本与库中某处存储的文本联系起来,这样当查询时,便可通过那些与文本匹配的文档字段来查询文档。
实际上,MongoDB中的文本索引可以实现中文检索,其原理是文本会被分词,形成词汇集合后,每个文档被转换为一个词汇集合,然后文本索引会维护指向相应文本的文档清单。所以,当需要检索文档时,MongoDB便可帮你搜索到有关的文档,有效实现中文检索。
示例:要创建一个实现中文检索的文本索引,则可以使用下面的MongoDB操作命令。
> db.collection.createIndex( { “title”: 1 }, { “default_language”: “chinese” } )
这里的“title”是文档的某个字段,在大多数情况下,它都是文档标题,而“default_language”可以用来指定中文检索的默认语言,它可以是“simple”(简体中文)或者“traditional”(繁体中文)。这样,MongoDB就可以有效地执行中文检索了。
总之,MongoDB中的文本索引可以有效地实现中文检索,但是在创建索引时,要注意设定文档字段及默认语言,以便让其记录要检索的文档,这样才可以有效地实现中文检索。