在Mongo DB Text Search&中搜索忽略和组合白色字符串的文本。正则表达式

时间:2016-02-22 18:48:58

标签: regex mongodb search text full-text-search

数据库:

{title: "Honda CBR500"},
{title: "Honda CBR500R"},
{title: "Honda CBR 500R"},
{title: "Honda CBR 500 R"},
{title: "Honda CBR 250 R"},

我希望我的MongoDB文本搜索在查找“ CBR ”时返回所有这些结果而不是完全匹配,并且在查找“ CBR500 ”。

目前(默认mongo文本搜索行为),如果我查找“ CBR500 ”我只会得到:

{title: "Honda CBR500"}

而不是

{title: "Honda CBR500"},
{title: "Honda CBR500R"},
{title: "Honda CBR 500R"},
{title: "Honda CBR 500 R"}

我正在考虑添加一个额外的字段,例如normalised_title,并使用正则表达式将CBR500R之类的单词拆分为关键字示例:

{title: "Honda CBR500", normalised_title: "CBR 500"},
{title: "Honda CBR500R", normalised_title: "CBR 500 R CBR500 500R},
{title: "Honda CBR 500R", normalised_title: "CBR500R CBR 500 CBR 500 R"},
{title: "Honda CBR 500 R", normalised_title: "CBR 500R CBR 500 R"},
{title: "Honda CBR 250 R", normalised_title: "CBR250R CBR 250 R 250R"}}

这使我能够进行组合文本搜索并在我查找CBR时返回所有内容,并在使用CBR 500时返回所有内容(然后按分数排序并在底部获得250s)

提前致谢!

0 个答案:

没有答案