mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 03:46:50 +08:00
提交ES的修改
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.xboe.module.course.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
@@ -55,7 +56,10 @@ public interface ICourseFullTextSearch {
|
||||
* @param indexName
|
||||
* @param id
|
||||
*/
|
||||
void remove(String indexName,String id) throws Exception;
|
||||
void removeByDocId(String indexName,String id) throws Exception;
|
||||
|
||||
|
||||
boolean deleteById(String indexName, String id) throws IOException;
|
||||
|
||||
// /**
|
||||
// * 重新发布到全文检索
|
||||
|
||||
@@ -36,6 +36,9 @@ import org.elasticsearch.common.xcontent.XContentType;
|
||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.query.RangeQueryBuilder;
|
||||
import org.elasticsearch.index.query.TermQueryBuilder;
|
||||
import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
||||
import org.elasticsearch.index.reindex.DeleteByQueryRequest;
|
||||
import org.elasticsearch.search.SearchHit;
|
||||
import org.elasticsearch.search.SearchHits;
|
||||
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||
@@ -220,10 +223,11 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
String textJson =mapper.writeValueAsString(item);
|
||||
updateRequest.doc(textJson, XContentType.JSON);
|
||||
UpdateResponse updateResponse = restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);
|
||||
if (updateResponse.getResult() == DocWriteResponse.Result.UPDATED) {
|
||||
int ok=updateResponse.status().getStatus();
|
||||
if (ok==200) {
|
||||
log.info("更新【"+fullTextId+"】成功!");
|
||||
} else {
|
||||
log.error("更新【"+fullTextId+"】失败");
|
||||
log.error("更新【"+fullTextId+"】失败",updateResponse);
|
||||
}
|
||||
|
||||
}else {
|
||||
@@ -377,7 +381,8 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery();
|
||||
keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f));
|
||||
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理
|
||||
keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f));
|
||||
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f));
|
||||
keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f));
|
||||
keywordQuery.minimumShouldMatch(1);
|
||||
boolQuery.must(keywordQuery);
|
||||
//boolQuery.must(QueryBuilders.wildcardQuery("name", "*"+params.getKeywords()+"*").boost(9f));
|
||||
@@ -682,7 +687,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(String indexName, String id) {
|
||||
public void removeByDocId(String indexName, String id) {
|
||||
DeleteRequest deleteRequest = new DeleteRequest(indexName);
|
||||
deleteRequest.id(id);
|
||||
try {
|
||||
@@ -690,9 +695,26 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
if (deleteResponse.getResult() == DocWriteResponse.Result.NOT_FOUND) {
|
||||
log.error("删除失败,未找到索引id是【"+id+"】的文档");
|
||||
}
|
||||
//restHighLevelClient.close();
|
||||
} catch (IOException e) {
|
||||
log.error("删除异常:"+e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteById(String indexName, String id) throws IOException {
|
||||
DeleteByQueryRequest deleteRequest=new DeleteByQueryRequest(indexName);
|
||||
deleteRequest.setQuery(new TermQueryBuilder("id",id));
|
||||
BulkByScrollResponse response = restHighLevelClient.deleteByQuery(deleteRequest, RequestOptions.DEFAULT);
|
||||
long n=response.getStatus().getTotal();
|
||||
|
||||
if(n==0) {
|
||||
log.error("按id删除失败",response);
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
//restHighLevelClient.close();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user