最佳答案
附件:
收藏:
创建文本索引:
BasicDBObject keys = new BasicDBObject();
keys.put("name","text");
BasicDBObject options = new BasicDBObject();
options.put("name", "userTextSearch");
options.put("unique", Boolean.FALSE);
options.put("background", Boolean.TRUE);
userCollection.createIndex(keys, options); // using MongoTemplate
文件:
查询:
db.users.find( { "$text" : { "$search" : "LEONÉL" } } )
= > FOUNDD (使用 diacriticSpirtive 进行搜索是假的)知道为什么使用查询“ LEO”或“ L”得到0结果吗?
不允许带有文本索引搜索的正则表达式。
db.getCollection('users')
.find( { "$text" : { "$search" : "/LEO/i",
"$caseSensitive": false,
"$diacriticSensitive": false }} )
.count() // 0 results
db.getCollection('users')
.find( { "$text" : { "$search" : "LEO",
"$caseSensitive": false,
"$diacriticSensitive": false }} )
.count() // 0 results
MongoDB 文档: