如何使用java在elasticsearch中搜索JSON字段?

问题描述:

这是JSON,我想用一个搜索:如何使用java在elasticsearch中搜索JSON字段?

{ 
    "_index" : "test", "_type" : "insert", "_id" : "3", 
    "_version" : 2, "found" : true, 
    "_source" : { 
     "ACCOUNT_ID" : "123", 
     "CONTACT_ID" : "ABC" 
    } 
} 

如何搜索所有具有ACCOUNT_ID从1开始的JSON

+0

请清除它,如果,您的意思是:ACCOUNT_ID = 1的前缀或ACCOUNT_ID从1,2,3,.....? – sunkuet02

+0

@AbdullaAlSun问题说明Account ID值在不同的JSON(独立文档)中是不同的。 –

+0

ACCOUNT_ID是一个字符串值。所以现在在这个例子中它是“123”,我想知道如何以ACCOUNT_ID从“1”开始检索所有的JSON。或 –

从我看到你的评论中,你正试图找到id从1开始。那么如果你的分析仪是标准分析仪,那么ID“123”就像“123”一样被标记。你可以使用通配符并像'1 *'一样搜索。小心使用通配符,因为它需要一些内存。

在这里看到:QueryString - Wildcard

您可以使用通配符elasticsearch搜索从1

GET index/_search 
{ 
     "query": { 
     "wildcard": { 
      "ACCOUNT_ID ": { 
      "value": "1*" 
      } 
     } 
     } 
    } 

在Java中启动一个ACCOUNT_ID,你可以尝试这样的事:

QueryBuilders.wildcardQuery("ACCOUNT_ID ", "1*"); 
+0

QueryBuilders.wildcardQuery(“ACCOUNT_ID”,“1 *”)正在给零点击。我的意思是:[]是空的 –

+0

你可以上传你的Java程序吗? – Rose