Database 如何制作圆点'';和下划线'_';其行为类似于MongoDB中$text索引中的空格
我将在我的应用程序中添加一个搜索功能,该应用程序在Mongo数据库中有一个用户集合。每个用户都有一个具有以下规则的唯一用户名:Database 如何制作圆点'';和下划线'_';其行为类似于MongoDB中$text索引中的空格,database,mongodb,mongoose,indexing,nosql,Database,Mongodb,Mongoose,Indexing,Nosql,我将在我的应用程序中添加一个搜索功能,该应用程序在Mongo数据库中有一个用户集合。每个用户都有一个具有以下规则的唯一用户名: 所有字母都是英文小写字母 也可以包含数字、点和下划线 每个用户也有一个名字——一个字母和空格的字符串,类似于Instagram和Twitter的规则。因此,我想创建一个搜索功能,通过名称和用户名属性在users集合中进行搜索。我尝试为这些属性创建索引,如下所示: createIndex({“用户名”:“文本”,“名称”:“文本”}) 这根本不是一个好的解决方案,因为
- 所有字母都是英文小写字母
- 也可以包含数字、点和下划线
我想听听你们关于更好的解决方案或更好的索引设计的意见。我也不确定问题的大小,我想在其他资源中阅读更多关于类似问题的信息。如果使用Atlas搜索,可以通过映射分析器配置此行为。看 对于文本索引,表示标记化是不可配置的。您可以在文档中创建第二个字段,用于存储为搜索而转换的文本(即u和.替换为空格),并将该字段用作文本索引