Elasticsearch在连字符,破折号,空格上打破

时间:2016-01-04 18:30:21

标签: angularjs node.js elasticsearch

我目前将弹性搜索映射设置为默认分析,我希望以这种方式保留设置。但是我遇到了我尝试查询ABC-123或ABC 123或ABC 123-1的情况,它打破了弹性搜索查询。

我正在使用:https://github.com/jeff-collins/ment.io

使用angularjs typeahead模块

问题是当我使用typeahead模块开始查询时,每当我点击一个空格或连字符/破折号时它会打破预先输入下拉列表。

这是我设置的通配符

router.get('/tagging', function(req, res) {
  switch (req.query.type) {
    case 'asset_list':
      client.search({
        index: 'core',
        type: 'assets',
        body: {
          query : {
              wildcard: {
                name: '*' + req.query.name + '*'
            }
          },
          highlight: {
              fields : {
                  display_name : {}
              }
          }
        }
      }).then(results => res.send(results), err => res.send(err));
      break;
      .....
      .....

1 个答案:

答案 0 :(得分:0)

看起来像logstash处理这个。

https://www.elastic.co/blog/logstash-1-3-1-released