gpt4 book ai didi

MongoDB 文本搜索停用词失败

转载 作者:可可西里 更新时间:2023-11-01 10:28:36 25 4
gpt4 key购买 nike

我正在尝试在我的集合中进行查询,但它没有返回任何内容。

这是我的查询:

{'$match': {'$text': {'$search': 'a'}}}, 
{'$group': {'_id': {'texto': '$texto'},
'somanumero': {'$sum': '$numero'}}}

我的收藏:

{ "_id" : ObjectId("555cdc4fe13823315537042d"), "texto" : ObjectId("555cdc4fe13823315537042c"), "numero" : ObjectId("555cdc4fe13823315537042e") }
{ "_id" : ObjectId("555cdc5ee13823315537042f"), "numero" : 5, "texto" : "a", "lattexto" : "-15.79506", "lontexto" : "-47.88322" }
{ "_id" : ObjectId("555cdc6ae138233155370430"), "numero" : 10, "texto" : "a", "lattexto" : "-15.79506", "lontexto" : "-47.88322" }
{ "_id" : ObjectId("555cdc73e138233155370431"), "numero" : 3, "texto" : "b", "lattexto" : "-15.79506", "lontexto" : "-47.88322" }

这是我的文本索引:

{
"v" : 1,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "texto_text",
"ns" : "OSA.teste_texto",
"default_language" : "portuguese",
"weights" : {
"texto" : 1
},
"language_override" : "language",
"textIndexVersion" : 2
}

当我单独使用 $group$match 时,它起作用了。

我做错了什么吗?

最佳答案

来自docs :

MongoDB supports text search for various languages. text indexes drop language-specific stop words (e.g. in English, “the”, “an”, “a”, “and”, etc.) and uses simple language-specific suffix stemming.

您的数据存在的问题是某些记录具有特定语言 停用词a,它被认为是portugese 中的停用词|也。一些停用词包括,a 位于列表顶部。

a
ao
aos
aquela
aquelas
aquele
aqueles
aquilo
as
até
com
como

这些词从未编入索引,因此每当您查询停用词时,您都得不到任何结果。

同时,如果您查询 b,您会得到结果,因为它不是停用词并且会被索引。

关于MongoDB 文本搜索停用词失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30358917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com