MongoDB与变音符号不匹配

MongoDB与变音符号不匹配,mongodb,meteor,Mongodb,Meteor,我已经读了一遍又一遍,在SO和谷歌上寻找答案,但我找不到原因 我有一个收藏品,我声明是这样的 import { Meteor } from 'meteor/meteor' export default InventoryItems = new Meteor.Collection('inventory-items'); if (Meteor.isServer) { // https://docs.mongodb.com/manual/tutorial/control-results-of

我已经读了一遍又一遍,在SO和谷歌上寻找答案,但我找不到原因

我有一个收藏品,我声明是这样的

import { Meteor } from 'meteor/meteor'

export default InventoryItems = new Meteor.Collection('inventory-items');


if (Meteor.isServer) {
  // https://docs.mongodb.com/manual/tutorial/control-results-of-text-search/

  InventoryItems._ensureIndex({ sku: 1 }, {
    name: 'UniqueIndex',
    unique: true
  });

  InventoryItems._ensureIndex({ sku: 'text', name: 'text', description: 'text' }, {
    name: 'SearchIndex',
    weights: {
      sku: 10,
      name: 5,
      description: 1
    },
    default_language: 'french'
  });
}
然后,考虑到这些条目

InventoryItems.insert({ sku:'B-WA', name:'Barrière WA', description:'' });
InventoryItems.insert({ sku:'B-WT', name:'Barrière WT', description:'' });
InventoryItems.insert({ sku:'B-WL', name:'Barrière WL', description:'' });
搜索

InventoryItems.find({ $text: { $search: 'barrier' } });
它返回整个集合,但如果我返回

InventoryItems.find({ $text: { $search: 'barriere' } });
它一无所获<代码>“”\_(ツ)_/“


为什么第一个匹配,而另一个不匹配?

我认为原因是词干特征将单词缩小到词根。在您的情况下,标记器只是将您的单词设置为“屏障”。 通过一篇关于文本索引的文章(以及其他标记器特性)发现了这一点