您的位置:首页 > 其它

Es查询(模糊,精确,多条件《模糊精确多条件查询》),修改,编辑,删除

2018-09-12 09:54 429 查看
版权声明:未经本人同意,严禁转发 https://blog.csdn.net/baidu_36336788/article/details/80285323

----------------------------------------------配置文件jar-----------------------------------------------------------

<!-- ES -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>6.2.2</version>
</dependency>
<!-- json -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.5</version>
</dependency>
        <dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.21.0-GA</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.3.1.3</version>
</dependency>
<dependency>
<groupId>com.cn21</groupId>
<artifactId>Time-NLP</artifactId>
<version>1.0.1</version>

</dependency>

《------------------------模糊精确多条件查询------------------》

must :  相当于 MySQL and  should : 相当于MySQL or (效率低)

setExplain(true)  匹配顺序

 

BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();  
        boolQueryBuilder.must(QueryBuilders.wildcardQuery("name", "*豆鼓焗带鱼*")).must(termQuery("foodType", "套餐"));
SearchResponse response1 = EsUtils.getClient()
.prepareSearch("food")
.setTypes("_doc")
.setQuery(boolQueryBuilder)
.setFrom(Integer.parseInt("0"))
.setSize(Integer.parseInt("10"))
.setExplain(true)    
                .execute()    
                .actionGet();
for(SearchHit hit:response1.getHits().getHits()){
System.out.println(hit.getSourceAsString());

}

 

《---------------------编辑----------------------》

                UpdateRequest updateRequest = new UpdateRequest();

updateRequest.index("food2");
updateRequest.type("_doc");
updateRequest.id("cAjpPmMBFth1dx0K4mIh");
updateRequest.doc(XContentFactory.jsonBuilder().startObject().field("name", "你好李四").endObject());

client.update(updateRequest).get();

《新建》

                Map<String, Object> json = new HashMap<String, Object>();
json.put("style","风格");
json.put("tag","tag");
json.put("taste","taste");
json.put("tech","tech");

        EsUtils.index("food", "_doc", json);

《删除》

            EsUtils.delete(indexName, type, id);

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐