Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
aroad_aqsc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
许言琪
aroad_aqsc
Commits
a80a411f
提交
a80a411f
authored
5月 14, 2019
作者:
董吉利
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、增加了路段的通过路线编号匹配,查询字段在起点桩号和止点桩号之间范围查询
上级
2e11e5d6
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
184 行增加
和
1 行删除
+184
-1
EsUtil_fanshe.java
...lephant/framework/galaxy/aroad/bigdata/EsUtil_fanshe.java
+177
-0
ReadElasticsearch.java
...ant/framework/galaxy/aroad/bigdata/ReadElasticsearch.java
+7
-1
没有找到文件。
src/main/java/com/elephant/framework/galaxy/aroad/bigdata/EsUtil_fanshe.java
浏览文件 @
a80a411f
...
...
@@ -6,6 +6,7 @@ import org.elasticsearch.action.search.SearchResponse;
import
org.elasticsearch.client.transport.TransportClient
;
import
org.elasticsearch.common.settings.Settings
;
import
org.elasticsearch.common.transport.TransportAddress
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.SearchHits
;
...
...
@@ -900,7 +901,183 @@ public class EsUtil_fanshe {
}};
}
/**
* @Description: 通过路线编号匹配,查询字段在起点桩号和止点桩号之间范围查询
* @Param:
* @return:
* @Author: dongjili
* @Date: 2019/5/14 0014
*/
public
static
List
<
Basehighwayalldata
>
queryHighWayFiler
(
String
lxbh
,
double
zh
,
String
index
,
String
type
,
int
start
,
int
row
)
throws
Exception
{
//搜索数据
SearchRequestBuilder
searchRequestBuilder
=
getClient
().
prepareSearch
(
index
).
setTypes
(
type
).
setFrom
(
start
).
setSize
(
row
);
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度)
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isNotBlank
(
lxbh
))
{
//multiMatchQuery多个字段匹配某一个值
//multiMatchQuery(text,fields)其中的fields是字段的名字,可以写好几个,每一个中间用逗号分隔
BoolQueryBuilder
boolquery
=
QueryBuilders
.
boolQuery
()
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"luxianbianhao"
,
lxbh
))
.
must
(
QueryBuilders
.
rangeQuery
(
"qidianzhuanghaoa"
).
lte
(
zh
))
.
must
(
QueryBuilders
.
rangeQuery
(
"zhidianzhuanghao"
).
gte
(
zh
));
searchRequestBuilder
.
setQuery
(
boolquery
);
}
String
[]
highwayNames
=
{
"id"
,
"luxianbianhao"
,
"quhuadaima"
,
"luxianmingcheng"
,
"qidianmingcheng"
,
"zhidianmingcheng"
,
"qidianzhuanghaoa"
,
"zhidianzhuanghao"
,
"licheng"
,
"lichengjisuan"
,
"sanDlicheng"
,
"dengjidaima"
,
"dengjimingcheng"
,
"chedaodaima"
,
"chedaofenlei"
,
"mianchengdaima"
,
"mianchengfenlei"
,
"lujikuandu"
,
"lumiankuandu"
,
"shejishisu"
,
"xiujianniandu"
,
"gaijianniandu"
,
"chengguanlu"
,
"duantoulu"
,
"chongfubianma"
,
"chongfuxuhao"
,
"qidianzhuanghaob"
,
"zhongdianzhuanghao"
,
"yanghulicheng"
,
"qingyulicheng"
,
"kelvhaolicheng"
,
"yilvhualicheng"
,
"dimaodaima"
,
"dimaohanzi"
,
"handongshuliang"
,
"maisheqidianzhuanghao"
,
"maishezhidianzhuanghao"
,
"quhuamingchengshi"
,
"quhuamingchengxian"
,
"quhuamingchengxiang"
,
"luduanxuhao"
,
"guanyangdanweileibie"
,
"beizhu"
,
"kaigongriqi"
,
"jungongriqi"
,
"qidianfenjiedianleixing"
,
"zhidianfenjiedianleixing"
,
"shengjichurukou"
,
"gbmlicheng"
,
"yangbanlicheng"
,
"tongcheriqi"
,
"luxiandifangmingcheng"
,
"jianshexingzhidaima"
,
"jianshexingzhihanzi"
,
"duanlianleixing"
,
"luduanleixingdaima"
,
"luduanleixing"
,
"guanyangdanweimingcheng"
,
"mqi"
,
"pingdingdengji"
,
"shoufeixingzhi"
,
"biangengyuanyindaima"
,
"biangengyuanyin"
,
"biangengshijian"
,
"xiangmuxingzhi"
,
"xiangmumingcheng"
,
"xiangmudaima"
,
"xiangmuqidianmingcheng"
,
"xiangmuzhidianmingcheng"
,
"xiangmuleibie"
,
"jihuaxiangmubianma"
,
"xiangmuluxianbianma"
,
"xiangmuluxianmingcheng"
,
"xiangmubiangengyuanyin"
,
"xiangmubiangengshijian"
,
"touzilaiyuan"
,
"miancenghoudu"
,
"zuijinyicidaxiuniandu"
,
"zuijinyicizhongxiuniandu"
,
"guodaotiaozhengqianluxianbianma"
,
"guodaozhuanghaochuandiyuliulicheng"
,
"nianpingjunrijiaotongliang"
,
"shifouanganxiangongluguanlijieyang"
,
"luxiantiaozhengleixing"
,
"shangnianluxianbianma"
,
"shangnianluxianmingcheng"
,
"shangnianluxianqidianzhuanghao"
,
"shangnianluxianzhidianzhuanghao"
,
"tianbaodanweimingcheng"
,
"shape"
};
SearchResponse
response
=
searchRequestBuilder
.
get
();
//获取命中次数,查询结果有多少对象
SearchHits
hits
=
response
.
getHits
();
List
<
Basehighwayalldata
>
basehighwayalldataList
=
new
ArrayList
<>();
for
(
SearchHit
hit
:
hits
)
{
Map
<
String
,
Object
>
sourceAsMap
=
hit
.
getSourceAsMap
();
//LuKeHighWay luKeHighWay = new LuKeHighWay();
//获取该类在堆区的Class对象
Class
<?>
clazz
=
Class
.
forName
(
"com.elephant.framework.galaxy.aroad.bigdata.Basehighwayalldata"
);
//获取私有的构造方法
Constructor
<?>
constructor
=
clazz
.
getDeclaredConstructor
();
//暴力破解
constructor
.
setAccessible
(
true
);
//实例化对象
Basehighwayalldata
basehighwayalldata
=
(
Basehighwayalldata
)
constructor
.
newInstance
();
//获取私有的属性字段
Field
[]
beanFiled
=
clazz
.
getDeclaredFields
();
basehighwayalldata
.
setId
(
hit
.
getId
());
for
(
int
z
=
1
;
z
<
highwayNames
.
length
;
z
++)
{
//暴力破解
//beanFiled[a].setAccessible(true);
//给路段属性复制
//beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : sourceAsMap.get(highwayNames[z]).toString());
//-----------------------------------------------------------------
try
{
//强制反射,让private 的属性也可以访问
beanFiled
[
z
].
setAccessible
(
true
);
//把得到的属性进行赋值,就是把读取到的单元格中的数据赋给对应的属性
/* Row.MissingCellPolicy RETURN_NULL_AND_BLANK
Row.MissingCellPolicy RETURN_BLANK_AS_NULL
Row.MissingCellPolicy CREATE_NULL_AS_BLANK*/
if
(
beanFiled
[
z
].
getType
().
equals
(
String
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
());
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Integer
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
0
:
Integer
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Long
.
class
.
getName
()))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
Long
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Float
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
Float
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Double
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
0.0
:
Double
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Byte
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
Byte
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Boolean
.
class
))
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
Boolean
.
valueOf
(
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
()));
}
else
if
(
beanFiled
[
z
].
getType
().
equals
(
Date
.
class
))
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
date
=
null
;
try
{
date
=
sdf
.
parse
(
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
beanFiled
[
z
].
set
(
basehighwayalldata
,
date
);
}
else
{
beanFiled
[
z
].
set
(
basehighwayalldata
,
sourceAsMap
.
get
(
highwayNames
[
z
])
==
null
?
""
:
sourceAsMap
.
get
(
highwayNames
[
z
]).
toString
());
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
basehighwayalldataList
.
add
(
basehighwayalldata
);
}
return
basehighwayalldataList
;
}
/**
* @Description: termquery()路线编号词条查询
* @Param:
...
...
src/main/java/com/elephant/framework/galaxy/aroad/bigdata/ReadElasticsearch.java
浏览文件 @
a80a411f
package
com
.
elephant
.
framework
.
galaxy
.
aroad
.
bigdata
;
import
java.util.List
;
/**
* @program: pingxiang_basedata
* @description: ${description}
...
...
@@ -32,7 +34,11 @@ public class ReadElasticsearch {
/*for (Basehighwayalldata basehighwayalldata : basehighwayalldataList) {
System.out.println(basehighwayalldata);
}*/
//通过路线编号匹配,查询字段在起点桩号和止点桩号之间范围查询
List
<
Basehighwayalldata
>
basehighwayalldataArrayList
=
EsUtil_fanshe
.
queryHighWayFiler
(
"G342"
,
405
,
"basehighwayalldata"
,
"2018"
,
0
,
2000000000
);
for
(
Basehighwayalldata
basehighwayalldata
:
basehighwayalldataArrayList
)
{
System
.
out
.
println
(
basehighwayalldata
);
}
//分词查询隧道数据返回list集合
//List<Basetunnelalldata> basetunnelalldataList = EsUtil_fanshe.queryTunnel("港沟", "basetunnelalldata", "2018", 0, 2000000000);
//termquery()隧道代码词条查询返回list集合
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论