-
Type: Question
-
Resolution: Works as Designed
-
Priority: Trivial - P5
-
None
-
Affects Version/s: 3.4.0
-
Component/s: Index Maintenance, Text Search
-
None
I was surprised by the last line:
> db.y.find() > db.y.createIndex({name:'text'}) { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.y.insert({name:'leader-board'}) WriteResult({ "nInserted" : 1 }) > db.y.find({$text:{$search:'leader'}}) { "_id" : ObjectId("586b69d30c34db31e74c6413"), "name" : "leader-board" } > db.y.find({$text:{$search:'leader board'}}) { "_id" : ObjectId("586b69d30c34db31e74c6413"), "name" : "leader-board" } > db.y.find({$text:{$search:'leader-board'}}) { "_id" : ObjectId("586b69d30c34db31e74c6413"), "name" : "leader-board" } > db.y.find({$text:{$search:'leaderboard'}})
Shouldn't it still match it? I understand in general 'foo-bar' and 'foobar' are not synonyms, but are there ways to associate those terms in some conditions, other than putting both terms?