GEO query问题
来源:9-8 基于百度LBS的云麻点_POI数据增删改(上)
石雨洛花
2018-04-25
1. 创建index,添加mapping ;
{
"student": {
"aliases": {},
"mappings": {
"stu_type": {
"properties": {
"@timestamp": {
"type": "long"
},
"age": {
"type": "integer"
},
"location": {
"type": "geo_point"
},
"name": {
"type": "keyword",
"store": true
},
"school": {
"type": "text"
}
}
}
},
"settings": {
"index": {
"refresh_interval": "10s",
"number_of_shards": "5",
"provided_name": "student",
"creation_date": "1524293244867",
"number_of_replicas": "0",
"uuid": "liceQ_-LQEOaLrYsS2gpHw",
"version": {
"created": "6020399"
}
}
}
}
}
2. 添加数据,格式如下
{
"_index": "student",
"_type": "stu_type",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"school": "中南大学",
"name": "张三丰",
"location": "39.92211,117.22111",
"age": 80
}
}
3. 但是代码查询文档,实现获取中心点一定距离的文档时候报错
代码:
public String geoFoundDoc(String index,String type,double lat,double lon,double distance){
QueryBuilder qb = geoDistanceQuery("location") //field
.point(lat, lon)
.distance(distance, DistanceUnit.KILOMETERS);
** SearchResponse searchResponse = client.prepareSearch(index).setTypes(type).setQuery(qb).execute().actionGet();**
SearchHit[] hits = searchResponse.getHits().getHits();
String docStr = "";
for (SearchHit doc:hits){
docStr += doc.getSourceAsString();
}
return docStr;
}
2回答
-
瓦力老师
2018-04-26
亲,我们来捋一捋,在JAVA中,排查异常相对还是比较简单的,当异常日志抛出来,我们先看下Caused by后面的原因以及代码行号,如果这样还分析不出来,可以debug查看是具体什么字段,什么数据造成的,另外,从你的异常日志分析来看,是在转化bool值时出现了非法字符,建议先检查下数据的查询是不是正常,然后把caused by后面关键的部分以及是哪些数据造成异常的贴出来,这样我们就能看到具体原因了。
022018-04-26 -
石雨洛花
提问者
2018-04-25
控制台日志
ava.lang.IllegalStateException: unexpected byte [0xff]
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:412) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:402) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.search.builder.SearchSourceBuilder.<init>(SearchSourceBuilder.java:211) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.common.io.stream.StreamInput.readOptionalWriteable(StreamInput.java:733) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.action.search.SearchRequest.readFrom(SearchRequest.java:421) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.common.io.stream.Streamable.lambda$newWriteableReader$0(Streamable.java:51) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.transport.RequestHandlerRegistry.newRequest(RequestHandlerRegistry.java:56) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.transport.TcpTransport.handleRequest(TcpTransport.java:1508) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.transport.TcpTransport.messageReceived(TcpTransport.java:1382) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:64) ~[transport-netty4-client-5.6.3.jar:5.6.3]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:241) ~[netty-handler-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:545) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_152]
00
相似问题