当前位置: 首页 > 面试题库 >

如何在Elasticsearch(Java API)中使用queryString()?

涂煌
2023-03-14
问题内容

我正在研究Elastic-Search v1.1.1,我遇到了搜索查询问题。我想知道如何解决以下障碍

这是我的地图

{
  "token" : {
               "type" : "string"
            }
}

索引记录中的数据是

 {
   token : "4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd"
 }

我的搜索是

4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd

我想要记录的完全匹配,可以使用该查询来获取记录的完全匹配

  QueryBuilders.queryString() ?

我用queryString()检查了一下,然后确定了它对于精确匹配没有用

请建议我


问题答案:

您可以在字符串两边加上引号以进行完全匹配:

QueryBuilders.queryString("\"4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd\"");

如果您不想在上述字符串索引上进行部分匹配,请使用该值的未标记版本并在其上进行搜索。在映射中添加:

"token": {
    "type": "multi_field",
    "fields": {
        "untouched":   { 
            "type": "string", 
            "index": "not_analyzed" 
        }
    }
}

然后搜索:

{
    "query": {
        "match": {
           "token.untouched": "4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd"
         }
     }
}


 类似资料:
  • 问题内容: 我遍历了许多博客和网站,了解如何配置Elasticsearch for MongoDB来索引MongoDB中的集合,但是它们都不是直接的。 请向我说明逐步安装Elasticsearch的过程,其中应包括: 组态 在浏览器中运行 我将Node.js与express.js结合使用,因此请相应地提供帮助。 问题答案: 这个答案应该足以使您开始按照本教程使用MongoDB,Elasticsea

  • 尝试此代码 它显示了正确的值,但当我尝试更改登录值时,我得到了异常 我该如何解决这个问题?

  • 我正在寻找一种从Kafka主题中删除(完全删除)已消费记录的方法。我知道有几种方法可以做到这一点,例如更改主题的保留时间或删除Kafka logs文件夹。但我要寻找的是一种使用Java API删除某个主题的一定数量记录的方法,如果可能的话。 我试过测试AdminClient API,特别是AdminClient。deleteRecords(recordsToDelete)方法。但如果我没弄错的话,

  • 问题内容: 我有一个具有属性名称和姓氏的用户对象。我想使用一个查询来搜索这些字段,并且在文档中找到了该字段,但是我不知道如何将其与通配符一起正确使用。可能吗? 我尝试了查询,但没有成功: 问题答案: 或者,您可以对通配符使用查询。 这将比在索引时使用nGram过滤器慢(请参阅我的其他答案),但是如果您正在寻找一种快速且肮脏的解决方案… 我也不确定您的映射,但是如果您使用而不是映射,则需要如下所示:

  • https://www.elastic.co/guide/en/elasticsearch/reference/1.6/query-dsl-mlt-query.html#_query_formation_parameters 列出了,但没有说明我们应该如何使用它。。 我也没能用谷歌搜索它。。 我试过了

  • 问题内容: 如何使用感知控制台或curl在Elasticsearch中删除arraylist值? 我想删除任何数组元素。 它对我不起作用: 要么 问题答案: 如果要删除列表中的所有事件,可以执行以下操作: 或者,如果您只想删除第一个,例如: 另请注意,如果您想使用双引号就可以了,但是您需要将其转义,例如。 或带有参数: