Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matteodem:meteor轻松搜索-有没有办法只搜索前4个字符_Meteor - Fatal编程技术网

matteodem:meteor轻松搜索-有没有办法只搜索前4个字符

matteodem:meteor轻松搜索-有没有办法只搜索前4个字符,meteor,Meteor,有没有办法让它只搜索字段的前3或4个字符 例如,假设我有3000个邮政编码地区(在英国)。我正在尝试搜索“E14”,目前搜索结果中包含任何包含E14的内容,例如: =>查询的搜索结果 DE14 E14(==>我真正想要的) LE14 ME14 PE14 SE14 ============ 我想我可以在createSearchIndex代码中添加一些东西: EasySearch.createSearchIndex('postcodeDistricts', { 'collection' :

有没有办法让它只搜索字段的前3或4个字符

例如,假设我有3000个邮政编码地区(在英国)。我正在尝试搜索“E14”,目前搜索结果中包含任何包含E14的内容,例如:

=>查询的搜索结果

  • DE14
  • E14(==>我真正想要的)
  • LE14
  • ME14
  • PE14
  • SE14
============

我想我可以在createSearchIndex代码中添加一些东西:

EasySearch.createSearchIndex('postcodeDistricts', {
'collection'    :   PostcodeDistricts,
'field'         :   'postcodeDistrict',
'limit'         :   8
});

对于可能感兴趣的任何其他人,在Github页面上对此有回应:

======更新了有关发布解决方案的以下评论:

我的解决方案是包含一个查询,如下所示

EasySearch.createSearchIndex('collectionName', {

'collection': CollectionName,
'field': 'fieldName', //What you'd like to query
'limit': 8 //Default is 10,
//A query is what is required. The below worked for me
'query': function (searchString, opts) {
   var query = EasySearch.getSearch(this.use).defaultQuery(this, '^'+searchString);
   return query;
  }
})

对于可能感兴趣的任何其他人,在Github页面上对此有回应:

======更新了有关发布解决方案的以下评论:

我的解决方案是包含一个查询,如下所示

EasySearch.createSearchIndex('collectionName', {

'collection': CollectionName,
'field': 'fieldName', //What you'd like to query
'limit': 8 //Default is 10,
//A query is what is required. The below worked for me
'query': function (searchString, opts) {
   var query = EasySearch.getSearch(this.use).defaultQuery(this, '^'+searchString);
   return query;
  }
})

这里的一位easy search软件包开发人员。我知道这个问题已经在Github上得到了解决,但我之前已经多次看到这个问题,所以如果我在这里澄清一些事情,也许会有所帮助

如果您不依赖弹性搜索,默认情况下,包使用mongo searcher。此搜索者所做的是使用如下正则表达式查找文档:

{ '$regex' : '.*' + searchString + '.*', '$options' : 'i' }
使用
query
选项,可以有效地修改传递到查询中的正则表达式。因此,将正则表达式更改为类似于
“^”+searchString
的内容,最终会在开始时显式地将所有结果与
searchString
的内容进行匹配,这正是OP想要的


希望我们能让这件事在将来变得更容易,但现在这会起作用。干杯:)

这里的简易搜索包开发者之一。我知道这个问题已经在Github上得到了解决,但我之前已经多次看到这个问题,所以如果我在这里澄清一些事情,也许会有所帮助

如果您不依赖弹性搜索,默认情况下,包使用mongo searcher。此搜索者所做的是使用如下正则表达式查找文档:

{ '$regex' : '.*' + searchString + '.*', '$options' : 'i' }
使用
query
选项,可以有效地修改传递到查询中的正则表达式。因此,将正则表达式更改为类似于
“^”+searchString
的内容,最终会在开始时显式地将所有结果与
searchString
的内容进行匹配,这正是OP想要的

希望我们能让这件事在将来变得更容易,但现在这会起作用。干杯:)