J'ai lu et relu le docs J'ai cherché une réponse sur SO et Google, mais je ne trouve pas de raison à cela.
J'ai une collection que je déclare comme telle
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'
});
}
Ensuite, étant donné ces entrées
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:'' });
et recherche
InventoryItems.find({ $text: { $search: 'barrier' } });
il renvoie la collection entière, mais si je fais
InventoryItems.find({ $text: { $search: 'barriere' } });
il retourne nada ! ¯\_(ツ)_/¯
Pourquoi le premier correspond-il, mais pas l'autre ?