mongodb - 解析服务器全文搜索不适用于指针列?
问题描述
我在 heroku 上使用带有 mlab 的解析服务器,我有两个表链接 1. 艺术家 2. 报价
每个报价都有一个指针列artist
。
我创建了一个文本索引,这是视图:
"v": 2,
"key": {
"_fts": "text",
"_ftsx": 1
},
"name": "OfferSearchIndex",
"ns": "heroku_46tdsp6m.Offer",
"weights": {
"_p_artist": 1,
"_p_artist.firstname": 1,
"_p_artist.lastname": 1,
"category": 1,
"drscription": 1,
"drscription_de": 1,
"drscription_fr": 1,
"drscription_it": 1,
"drscription_ru": 1,
"medium": 1,
"movement": 1,
"title": 1,
"title_de": 1,
"title_fr": 1,
"title_it": 1,
"title_ru": 1
},
"default_language": "english",
"language_override": "language",
"textIndexVersion": 3
}
现在我有以下云查询来搜索报价:
var offerQuery = new Parse.Query("Offer");
offerQuery.include('artist');
offerQuery.fullText('artist.firstname', request.params.wildcard);
return offerQuery.find({
useMasterKey: true
}, function(error) {
console.log('#getOfferForAdmin error 1', error);
return error;
})
但是这个查询没有根据艺术家的名字和姓氏搜索报价。它只返回那些匹配商品标题、商品描述的记录。
我使用以下命令创建了一个索引:
db.Offer.createIndex( { "_p_artist": "text","_p_artist.firstname": "text", "_p_artist.lastname": "text", title: "text", title_de: "text", title_fr: "text", title_it: "text", title_ru: "text", drscription: "text", drscription_de: "text", drscription_fr: "text", drscription_it: "text", drscription_ru: "text", category: "text", medium: "text", movement: "text" }, {name:"OfferSearchIndex"}, { default_language:"none" } )