首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用字符串为Elasticsearch构建查询DSL

使用字符串为Elasticsearch构建查询DSL
EN

Stack Overflow用户
提问于 2015-10-29 13:34:15
回答 1查看 226关注 0票数 1

我正在使用Meteor (所以Javascript,Node,NPM等),我想提供一个简单的文本输入,供用户通过Elasticsearch进行搜索。我希望能够在文本上使用修饰符,如+和"“,并搜索特定的字段。我正在寻找的东西,可以转换成Elasticsearch查询DSL的纯文本输入。

以下是一些示例查询:

这个查询意味着关键字"tatooine“必须存在:

代码语言:javascript
复制
stormtrooper +tatooine

这意味着“死亡之星”应该是一个关键词:

代码语言:javascript
复制
stormtrooper "death star"

这将仅在类别字段中搜索关键字"bloopers“:

代码语言:javascript
复制
stormtrooper category=bloopers

有没有可以做到这一点的库?是否存在通用的解决方案,或者这就是我找不到任何现有答案的原因?

EN

回答 1

Stack Overflow用户

发布于 2015-10-29 17:25:10

除了category=bloopers之外,simple_query_string将开箱即用地支持您的查询语法,它应该是category:bloopers,但除此之外,它应该可以工作:

代码语言:javascript
复制
curl -XPOST localhost:9200/your_index/_search -d '{
  "query": {
    "simple_query_string": {
      "query": "stormtrooper category:bloopers"
    }
  }
}'

curl -XPOST localhost:9200/your_index/_search -d '{
  "query": {
    "simple_query_string": {
      "query": "stormtrooper +tatooine"
    }
  }
}'

您也可以直接在query string中发送查询,如下所示:

代码语言:javascript
复制
curl -XPOST localhost:9200/your_index/_search?q=stormtrooper%20%22death%20star%22"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33406627

复制
相关文章

相似问题

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