matteodem:meteor轻松搜索-有没有办法只搜索前4个字符
有没有办法让它只搜索字段的前3或4个字符 例如,假设我有3000个邮政编码地区(在英国)。我正在尝试搜索“E14”,目前搜索结果中包含任何包含E14的内容,例如: =>查询的搜索结果matteodem:meteor轻松搜索-有没有办法只搜索前4个字符,meteor,Meteor,有没有办法让它只搜索字段的前3或4个字符 例如,假设我有3000个邮政编码地区(在英国)。我正在尝试搜索“E14”,目前搜索结果中包含任何包含E14的内容,例如: =>查询的搜索结果 DE14 E14(==>我真正想要的) LE14 ME14 PE14 SE14 ============ 我想我可以在createSearchIndex代码中添加一些东西: EasySearch.createSearchIndex('postcodeDistricts', { 'collection' :
- DE14
- E14(==>我真正想要的)
- LE14
- ME14
- PE14
- SE14
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想要的
希望我们能让这件事在将来变得更容易,但现在这会起作用。干杯:)