首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch AngularJS Client -当我在搜索结果中包含空格时是不正确的

问ElasticSearch AngularJS Client -当我在搜索结果中包含空格时是不正确的
EN

Stack Overflow用户
提问于 2014-04-15 13:30:46
回答 1查看 352关注 0票数 0

我对ElasticSearch.I很陌生,我发现当我用"2“搜索时,它会给出如下的记录,但是当我搜索"2升”时,它会给出空的结果。似乎ElasticSearch服务器并没有考虑单词之间的空间。

苏索橙质量风味2升罐头ERP2

谁能帮我换一下我需要的东西吗?

谢谢。

已索引的中的JSON字段

产品细节:苏索橙优质风味2升罐头ERP2

ElasticSearch AngularJS客户端代码.

代码语言:javascript
复制
EsConnector.controller('QueryController', function($scope, es) {
 $scope.change = function() {
console.log($scope.searchProduct);

// search for documents
    es.search({
    index: 'test_index',
    size: 50,
    body: {
    "query":
        {
            "regexp": {

               "productDetail":$scope.searchProduct+".*",
            } ,
            "analyzer": "whitespace"
        },
    }

    }).then(function (response) {
      $scope.hits = response.hits.hits;
    });
}
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 19:48:37

  1. 可以使用简单的查询字符串请求,而不是regexp;将查询更改为$scope.searchProduct+"*“。
  2. “空格分析器”将查询分解为空格上的术语--这意味着elasticsearch将使用术语"suso“和"orange”来查找查询字符串"suso orange“的文档。
  3. 另一件您没有提到的重要的事情是索引分析器;它告诉elasticsearch如何按照它以后搜索的条件来分解文档字段,以及如何“预处理”它们--例如,小写或将一个符号更改为另一个符号。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23085226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档