MongoDB与变音符号不匹配
我已经读了一遍又一遍,在SO和谷歌上寻找答案,但我找不到原因 我有一个收藏品,我声明是这样的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
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' } });
它一无所获<代码>“”\_(ツ)_/“
为什么第一个匹配,而另一个不匹配?我认为原因是词干特征将单词缩小到词根。在您的情况下,标记器只是将您的单词设置为“屏障”。 通过一篇关于文本索引的文章(以及其他标记器特性)发现了这一点