elasticsearch,lucene,Java,elasticsearch,Lucene" /> elasticsearch,lucene,Java,elasticsearch,Lucene" />

弹性-使用Java高级Rest客户端执行字符串查询

弹性-使用Java高级Rest客户端执行字符串查询,java,elasticsearch,lucene,Java,elasticsearch,Lucene,我正在使用Java为我们公司编写一个服务,以便用户更容易地查询。对于该任务,我使用的是“Java高级REST客户端” 假设我有一个如下的查询: host='hostnameOne' AND (owner='Sam' OR cpuNum=5) OR type LIKE 'Ubuntu' 有没有一种方法可以使用QueryBuilder或任何类似的工具来轻松构建此查询?我看到有一个名为“simpleQueryStringQuery”的东西,但我在尝试转换上面的查询时失败了。您的选择如下: 使用查询字

我正在使用Java为我们公司编写一个服务,以便用户更容易地查询。对于该任务,我使用的是“Java高级REST客户端”

假设我有一个如下的查询:

host='hostnameOne' AND (owner='Sam' OR cpuNum=5) OR type LIKE 'Ubuntu'

有没有一种方法可以使用QueryBuilder或任何类似的工具来轻松构建此查询?我看到有一个名为“simpleQueryStringQuery”的东西,但我在尝试转换上面的查询时失败了。

您的选择如下:

  • 使用查询字符串,不建议用于用户生成的输入。它不会像你期望的那样工作。此外,如果不禁用某些特殊字符和关键字,可能会很危险
  • 使用简单的查询字符串,它是面向用户的查询字符串的替代方法。它不支持和,或者,尽管如此。您需要解析输入并将其转换为简单的\u查询\u字符串语法
  • 使用新的SQLRESTAPI。您提供的示例类似于SQL命令的WHERE子句
  • 你检查过这个吗