I'm experiencing some pretty wired behaviour with the MongoDB text search feature that might be reproduced as follows: Create a new collection containing only

{ "tiles" : ["91n2n", "91n2y", "91n39", "91n3k"] }

and add an index with

db.test.createIndex({ tiles: "text" })

Now, this query produces one result as expected:

db.test.find({ $text: { $search: "91n2n", $language: "none" } })

as does searching for "91n39" and "91n3k". However, for some strange reason, which smells like a bug to me, MongoDB doesn't find "91n2y", although it clearly should.

I could reproduce this with MongoDB-3.0.4 and MongoDB-3.0.5 on OS X and MongoDB-2.6.5 on Linux with a pretty basic setup. Also, I'm seeing exactly the same behaviour with

{tiles: "91n2n 91n2y 91n39 91n3k"}

or if I change the order of the elements.

Is this a known bug or limitation, or am I missing something obvious?