node.js - Elasticsearch 6.2 - 长文本的完成建议器

标签 node.js elasticsearch autocomplete elasticsearch-6

我希望能够通过长文本进行搜索和建议。 下面是我的输入字符串:

临床支持专业医务人员

如果我搜索 clinsuppspemedst,它应该给出上述字符串的结果。

搜索还可以是临床专科专家医学

下面是我为该字段创建的映射:

description: {
  type: 'completion',
  analyzer: 'simple',
  preserve_separators: true,
  preserve_position_increments: true,
  contexts: {
    name: 'company',
    type: 'category',
    path: 'company',  
  }
}

下面是搜索正文:

descSuggestor: {
  prefix: searchTerm,
  completion: {
    field: 'description'
  }
}

最佳答案

您的问题未指定 Elasticsearch 版本,或您尝试编写搜索查询的环境。但是,您可以使用 Kibana 中的正则表达式来做到这一点。例如,在 Kibana 的开发工具中,您可以编写如下内容:

GET utilization_aggregation_2018/_search
{
  "query": {
    "regexp" : {"name": "supp.*"}
  }
}

希望这有帮助!

关于node.js - Elasticsearch 6.2 - 长文本的完成建议器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750329/

相关文章:

ruby-on-rails - searchkick/elasticsearch 设置具有多个属性的自动完成

javascript - 如何为同一个输入框的字符设置不同的字体粗细

c# - 文本框自动完成

node.js - gyp 重建失败且链接器命令失败,退出代码为 1

elasticsearch更新映射冲突异常

elasticsearch - 匹配或对长属性的字词查询是否完全匹配?

Elasticsearch NEST 默认索引的文档数

javascript - 环境变量在 node/express 的子文件/导入文件中未定义

node.js - 耐克斯 :Error Pool2 - Error: connect ECONNREFUSED

javascript - 更改 'parent' 属性的属性