MongoDB中带有变音符号的文本搜索无法正常工作

时间:2019-07-25 10:52:11

标签: node.js mongodb mongoose character-encoding case-insensitive

MongoDB的较新版本支持变音符号敏感搜索,但是我无法使其正常工作。

例如,如果我搜索casa,我希望它返回包含casacasă的文档。

(我在nodejs中使用猫鼬)

  • Mongo:4,
  • 猫鼬:5.6.0,
this.find(
      { $text: { $search: keyword, $diacriticSensitive: false } },
    )
      .collation({ locale: 'ro', strength: 1 })
bookSchema.index(
  {
    content: 'text',
    title: 'text',
    code: 'text',
    custom: 'text',
  },
  {
    name: 'SearchIndex',
    weights: { content: 1,   title: 16, code: 2, custom: 8 },
    default_language: 'ro',
    language_override: 'ro',
    collation: { locale: 'ro', strength: 1 }
  }
);

现在,如果我使用变音符号进行搜索,我只会获得带有变音符号的结果,如果不进行搜索,则不会找到任何包含变音符号的文档。

有关如何解决此问题的任何建议?还是工作示例?

0 个答案:

没有答案