我正在尝试使用spring数据仓库在mongodb中的几个字段上实现不区分大小写的文本搜索。我找到了两个解决方案,每一个都有一些缺点:
这样的查询在字符串"/“、"*”上失败,并返回".“上的所有条目,因此我不得不转义这些字符或以某种方式过滤它,但我甚至不知道有多少这样的查询可以存在。因此,我的问题是如何100%确保查询执行搜索,将每个字符视为普通字符,而不是特殊字符。
我想知道它不区分大小写,所以我必须用小写数据创建特殊的字段并对其进行索引--是实现目标的唯一方法,否则我遗漏了什么?。
发布于 2015-10-26 06:48:12
MongoDb不是针对全文搜索引擎进行优化的,所以您必须处理这个限制,或者使用另一个搜索引擎,比如elasticsearch或solr。
在内部,这些人也在做着你正在做的事情。例如,使用不同的分析器,如小写、停止词过滤、词干词干分析或n-图分析来进行模糊搜索。
当您想要坚持使用MongoDb时,您必须自己编写和索引这些特性。
https://stackoverflow.com/questions/33339636
复制相似问题