我正在尝试使用meteor-easy-search 软件包实现两个db字段的搜索,但是,我似乎无法找到一种方法.这是问题所在:
我有一个架构:
{
name: String,
location: String
}
Run Code Online (Sandbox Code Playgroud)
我的表单上有两个输入字段:
<input type="text" name="name">
<input type="text" name="location">
Run Code Online (Sandbox Code Playgroud)
EasySearch提供了一种仅通过单个值进行搜索的方法:
EasySearch.search('people', name, .....
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将Object传递给搜索方法,所以我可以在EasySearch.createSearchIndex()中编写自己的'查询'?
此外,我需要将"位置"转换为地理螺旋索引并搜索"此位置半径内的名称"
我知道这可以直接使用MongoDB或ElasticSearch完成,但如果可能的话,我想使用meteor-easy-search进行滚动.
从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;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
922 次 |
| 最近记录: |