使用meteor-easy-search通过多个字段进行搜索

Mic*_*ait 5 search meteor

我正在尝试使用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进行滚动.

Val*_*Val 1

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)