使用meteor easy search进行多字段搜索
我正在尝试使用两个db字段实现搜索 然而,我似乎找不到一种方法。问题是: 我有一个模式:使用meteor easy search进行多字段搜索,search,meteor,Search,Meteor,我正在尝试使用两个db字段实现搜索 然而,我似乎找不到一种方法。问题是: 我有一个模式: { name: String, location: String } 我的表单上有两个输入字段: <input type="text" name="name"> <input type="text" name="location"> 是否有一种方法可以将对象传递给search方法,以便在EasySearch.createSearchIndex()中编写自己的“查询” 此外
{
name: String,
location: String
}
我的表单上有两个输入字段:
<input type="text" name="name">
<input type="text" name="location">
是否有一种方法可以将对象传递给search方法,以便在EasySearch.createSearchIndex()中编写自己的“查询”
此外,我需要将“位置”转换为地理螺旋索引,并搜索“该位置半径内的名称”
我知道这可以通过MongoDB或ElasticSearch直接完成,但如果可能的话,我想使用meteor easy search。从中,您可以在EasySearch.createSearchIndex()调用中初始化默认查询,还可以添加几个搜索字段,如下所示:
EasySearch.createSearchIndex('people', {
'field' : ['name', 'location'],
'collection' : People,
'limit' : 20,
'use' : 'elastic-search'
'props' : {
'anyField' : true
},
'query' : function (searchString, opts) {
// Default query that is used for searching
var query = EasySearch.getSearcher(this.use).defaultQuery(this, searchString);
return query;
}
});
好的,这意味着我可以在“名称”和“位置”数据库字段中只搜索一个输入字段,但我需要在各自的数据库字段中搜索两个输入字段。你得到这个问题的答案了吗?我也在寻找解决方案。谢谢
EasySearch.createSearchIndex('people', {
'field' : ['name', 'location'],
'collection' : People,
'limit' : 20,
'use' : 'elastic-search'
'props' : {
'anyField' : true
},
'query' : function (searchString, opts) {
// Default query that is used for searching
var query = EasySearch.getSearcher(this.use).defaultQuery(this, searchString);
return query;
}
});