spring boot starter数据mongodb进行文本搜索
我在使用SpringBootStarter数据mongodb进行文本搜索时遇到问题 我正在设置一个查询,问题似乎从那里开始spring boot starter数据mongodb进行文本搜索,mongodb,kotlin,spring-data-mongodb,Mongodb,Kotlin,Spring Data Mongodb,我在使用SpringBootStarter数据mongodb进行文本搜索时遇到问题 我正在设置一个查询,问题似乎从那里开始 > db.blogpost.find({ filter: { $text: { $search: 'Alex' } }, sort: { dateUpdated: -1 } }) Error: error: { "ok" : 0, "errmsg" : "unknown operator
> db.blogpost.find({ filter: { $text: { $search: 'Alex' } }, sort: { dateUpdated: -1 } })
Error: error: {
"ok" : 0,
"errmsg" : "unknown operator: $text",
"code" : 2,
"codeName" : "BadValue"
}
我的索引如下所示
> db.blogpost.getIndexes()
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "text_blog_search",
"weights" : {
"body" : 1,
"title" : 1,
"username" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}
]
创建索引的My Kotlin代码:
@配置
@EnableMongorPositories(basePackages=[“com.zone.api”])
类MongoConfig:AbstractMongoClient配置(){
覆盖mongoClient():mongoClient{
val connectionString=连接字符串(“mongodb://localhost:27017/blog")
val mongoClientSettings=mongoClientSettings.builder()
.applyConnectionString(connectionString)
.build()
返回MongoClient.create(MongoClient设置)
}
重写autoIndexCreation():布尔值{
返回错误
}
@豆子
有趣的mongoTemplate():mongoTemplate{
返回MongoTemplate(mongoClient(),“blog”)
}
@EventListener(ApplicationReadyEvent::类)
fun makeTextIndexes(){
val blogTextIndex=TextIndexDefinitionBuilder()
.named(“文本\博客\搜索”)
.onField(“头衔”)
.onField(“主体”)
.onField(“用户名”)
.build()
mongoTemplate()?.indexOps(Blog::class.java)?.ensureIndex(blogTextIndex)
}
}
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息
说真的,代码就是细节