我在事件集合中插入了以下值
db.events.insert(
[
{ _id: 1, name: "Amusement Ride", description: "Fun" },
{ _id: 2, name: "Walk in Mangroves", description: "Adventure" },
{ _id: 3, name: "Walking in Cypress", description: "Adventure" },
{ _id: 4, name: "Trek at Tikona", description: "Adventure" },
{ _id: 5, name: "Trekking at Tikona", description: "Adventure" }
]
)
我还按以下方式创建了一个索引:
db.events.createIndex( { name: "text" } )
现在,当我执行以下查询(search-walk)时:
db.events.find({
'$text': {
'$search': 'Walk'
},
})
我得到这些结果:
{ _id: 2, name: "Walk in Mangroves", description: "Adventure" },
{ _id: 3, name: "Walking in Cypress", description: "Adventure" }
但当我搜索Trek时:
db.events.find({
'$text': {
'$search': 'Trek'
},
})
我只得到一个结果:
{ _id: 4, name: "Trek at Tikona", description: "Adventure" }
所以我的问题是为什么它会导致:
{ _id: 4, name: "Trek at Tikona", description: "Adventure" },
{ _id: 5, name: "Trekking at Tikona", description: "Adventure" }
当我搜索walk时,它得到了包含walk和walking的文档。但是当我搜索trek时,它只得到了包含trek的文档,在那里它应该同时得到trek和trek