数据库:
{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)
提前致谢!