提交 2050f4bd authored 作者: 董吉利's avatar 董吉利

Merge branch 'dev' of D:\IDEAworkspace\aroad with conflicts.

上级 4aeddcee
...@@ -11,6 +11,8 @@ import org.elasticsearch.index.query.QueryBuilders; ...@@ -11,6 +11,8 @@ import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.SearchHits;
import org.elasticsearch.transport.client.PreBuiltTransportClient; import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.Field; import java.lang.reflect.Field;
...@@ -29,9 +31,15 @@ import java.util.*; ...@@ -29,9 +31,15 @@ import java.util.*;
* @Author: dongjili * @Author: dongjili
* @Date: * @Date:
*/ */
@Component
@ConfigurationProperties(prefix = "connect")
public class EsUtil_fanshe { public class EsUtil_fanshe {
public static TransportClient transportClient; public static TransportClient transportClient;
public static Gson gson = new Gson(); public static Gson gson = new Gson();
public static String host1;
public static String host2;
public static String host3;
public static int port;
/** /**
* @Description: 创建连接 * @Description: 创建连接
...@@ -46,9 +54,9 @@ public class EsUtil_fanshe { ...@@ -46,9 +54,9 @@ public class EsUtil_fanshe {
synchronized (EsUtil_fanshe.class) { synchronized (EsUtil_fanshe.class) {
// 创建Client连接对象 // 创建Client连接对象
transportClient = new PreBuiltTransportClient(settings) transportClient = new PreBuiltTransportClient(settings)
.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.7.200"), 9300)) .addTransportAddress(new TransportAddress(InetAddress.getByName(host1), port))
.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.7.210"), 9300)) .addTransportAddress(new TransportAddress(InetAddress.getByName(host2), port))
.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.7.220"), 9300)); .addTransportAddress(new TransportAddress(InetAddress.getByName(host3), port));
} }
} }
...@@ -81,8 +89,11 @@ public class EsUtil_fanshe { ...@@ -81,8 +89,11 @@ public class EsUtil_fanshe {
// 搜索数据 // 搜索数据
SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch(index).setTypes(type).setFrom(start).setSize(row); SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch(index).setTypes(type).setFrom(start).setSize(row);
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度) //isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度)
searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery()); //searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery());
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.matchAllQuery())
.mustNot(QueryBuilders.matchPhraseQuery("jishudengji", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
String[] bridgeNames = { String[] bridgeNames = {
"id", "id",
"quhuadaima", "quhuadaima",
...@@ -242,9 +253,13 @@ public class EsUtil_fanshe { ...@@ -242,9 +253,13 @@ public class EsUtil_fanshe {
if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) { if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) {
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔 //multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword, /* searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword,
"qiaoliangmingcheng" "qiaoliangmingcheng"
)); ));*/
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.multiMatchQuery(keyword, "qiaoliangmingcheng", "qiaoliangdaima"))
.mustNot(QueryBuilders.matchPhraseQuery("jishudengji", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
} }
String[] bridgeNames = { String[] bridgeNames = {
"id", "id",
...@@ -600,8 +615,11 @@ public class EsUtil_fanshe { ...@@ -600,8 +615,11 @@ public class EsUtil_fanshe {
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔 //multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery()); //searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery());
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.matchAllQuery())
.mustNot(QueryBuilders.matchPhraseQuery("dengjimingcheng", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
String[] highwayNames = {"id", String[] highwayNames = {"id",
"luxianbianhao", "luxianbianhao",
"quhuadaima", "quhuadaima",
...@@ -736,10 +754,14 @@ public class EsUtil_fanshe { ...@@ -736,10 +754,14 @@ public class EsUtil_fanshe {
if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) { if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) {
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔 //multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword, /* searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword,
"luxianbianhao", "luxianbianhao",
"luxianmingcheng" "luxianmingcheng"
)); ));*/
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.multiMatchQuery(keyword, "luxianbianhao","luxianmingcheng"))
.mustNot(QueryBuilders.matchPhraseQuery("dengjimingcheng", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
} }
String[] highwayNames = {"id", String[] highwayNames = {"id",
"luxianbianhao", "luxianbianhao",
...@@ -908,9 +930,9 @@ public class EsUtil_fanshe { ...@@ -908,9 +930,9 @@ public class EsUtil_fanshe {
* @Author: dongjili * @Author: dongjili
* @Date: 2019/5/14 0014 * @Date: 2019/5/14 0014
*/ */
public static List<Basehighwayalldata> queryHighWayFiler(String lxbh,double zh, String type) throws Exception { public static List<Basehighwayalldata> queryHighWayFiler(String lxbh,double zh, String index, String type) throws Exception {
//搜索数据 //搜索数据
SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch("basehighwayalldata").setTypes(type).setFrom(0).setSize(1); SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch(index).setTypes(type).setFrom(0).setSize(1);
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度) //isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度)
if (org.apache.commons.lang.StringUtils.isNotBlank(lxbh)) { if (org.apache.commons.lang.StringUtils.isNotBlank(lxbh)) {
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
...@@ -1261,8 +1283,11 @@ public class EsUtil_fanshe { ...@@ -1261,8 +1283,11 @@ public class EsUtil_fanshe {
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度) //isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度)
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔 //multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery()); //searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery());
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.matchAllQuery())
.mustNot(QueryBuilders.matchPhraseQuery("jishudengji", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
String[] basicTunnelNames = { String[] basicTunnelNames = {
"id", "id",
"suidaomingcheng", "suidaomingcheng",
...@@ -1353,9 +1378,13 @@ public class EsUtil_fanshe { ...@@ -1353,9 +1378,13 @@ public class EsUtil_fanshe {
if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) { if (org.apache.commons.lang.StringUtils.isNotBlank(keyword)) {
//multiMatchQuery多个字段匹配某一个值 //multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔 //multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword, /* searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword,
"suidaomingcheng" "suidaomingcheng"
)); ));*/
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.multiMatchQuery(keyword, "suidaomingcheng"))
.mustNot(QueryBuilders.matchPhraseQuery("jishudengji", "高速"));
searchRequestBuilder.setQuery(boolQueryBuilder);
} }
String[] basicTunnelNames = { String[] basicTunnelNames = {
"id", "id",
...@@ -1637,6 +1666,7 @@ public class EsUtil_fanshe { ...@@ -1637,6 +1666,7 @@ public class EsUtil_fanshe {
searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword, searchRequestBuilder.setQuery(QueryBuilders.multiMatchQuery(keyword,
"name" "name"
)); ));
} }
String[] baseRoadTollNames = {"id", String[] baseRoadTollNames = {"id",
"roadCode", "roadCode",
......
package com.elephant.framework.galaxy.aroad.bigdata; package com.elephant.framework.galaxy.aroad.bigdata;
import java.util.List;
/** /**
* @program: pingxiang_basedata * @program: pingxiang_basedata
* @description: ${description} * @description: ${description}
...@@ -35,10 +33,10 @@ public class ReadElasticsearch { ...@@ -35,10 +33,10 @@ public class ReadElasticsearch {
System.out.println(basehighwayalldata); System.out.println(basehighwayalldata);
}*/ }*/
//通过路线编号匹配,查询字段在起点桩号和止点桩号之间范围查询 //通过路线编号匹配,查询字段在起点桩号和止点桩号之间范围查询
// List<Basehighwayalldata> basehighwayalldataArrayList = EsUtil_fanshe.queryHighWayFiler("G342", 405, "basehighwayalldata", "2018", 0, 2000000000); /*List<Basehighwayalldata> basehighwayalldataArrayList = EsUtil_fanshe.queryHighWayFiler("G342", 405, "basehighwayalldata", "2018", 0, 2000000000);
// for (Basehighwayalldata basehighwayalldata : basehighwayalldataArrayList) { for (Basehighwayalldata basehighwayalldata : basehighwayalldataArrayList) {
// System.out.println(basehighwayalldata); System.out.println(basehighwayalldata);
// } }*/
//分词查询隧道数据返回list集合 //分词查询隧道数据返回list集合
//List<Basetunnelalldata> basetunnelalldataList = EsUtil_fanshe.queryTunnel("港沟", "basetunnelalldata", "2018", 0, 2000000000); //List<Basetunnelalldata> basetunnelalldataList = EsUtil_fanshe.queryTunnel("港沟", "basetunnelalldata", "2018", 0, 2000000000);
//termquery()隧道代码词条查询返回list集合 //termquery()隧道代码词条查询返回list集合
......
...@@ -224,10 +224,10 @@ public class SzglController { ...@@ -224,10 +224,10 @@ public class SzglController {
String mm = StringEscapeUtils.unescapeJava(text); String mm = StringEscapeUtils.unescapeJava(text);
JSONObject object = JSONObject.parseObject(mm); JSONObject object = JSONObject.parseObject(mm);
Line line = object.toJavaObject(Line.class); Line line = object.toJavaObject(Line.class);
List<Basehighwayalldata> lines = EsUtil_fanshe.queryHighWayFiler(line.getCode(), line.getM(), road.getIndexType()); /* List<Basehighwayalldata> lines = EsUtil_fanshe.queryHighWayFiler(line.getCode(), line.getM(), road.getIndexType());
if (lines != null && lines.size() > 0) { if (lines != null && lines.size() > 0) {
lx = lines.get(0); lx = lines.get(0);
} }*/
} }
return new R(lx); return new R(lx);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论