0

我正在查询一个 geomesa 功能,其中包括join两个属性(rdi)的索引。查询r=<int-value>运行并返回指定r值的数据(如果有)。但是,尽管存在相同的记录,但 Querydi=<int-value>没有找到任何匹配的记录!

这是我的功能架构:

r:Long:cardinality=high:index=join,*g:Point:srid=4326,di:Integer:index=join,al:Float,s:Float,b:Float,an:Float,he:Float,ve:Float,t:Float,m:Boolean,i:Boolean,ts:Long;geomesa.table.sharing='true',geomesa.indices='attr:4:3,records:2:3,z2:3:3',geomesa.table.sharing.prefix='\\u0001'

我无法找出根本原因。我不能在一个模式中有多个属性索引吗?

更新 1

附加查询计划

[2017-05-01 18:51:53,219] TRACE Explainer: Planning 'aj_dev' di = 1
239099 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  - Planning 'aj_dev' di = 1
[2017-05-01 18:51:53,220] TRACE Explainer:   Original filter: di = 1
239100 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Original filter: di = 1
[2017-05-01 18:51:53,220] TRACE Explainer:   Hints: density[false] bin[false] stats[false] map-aggregate[false] sampling[none]
239100 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Hints: density[false] bin[false] stats[false] map-aggregate[false] sampling[none]
[2017-05-01 18:51:53,221] TRACE Explainer:   Sort: none
239101 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Sort: none
[2017-05-01 18:51:53,221] TRACE Explainer:   Transforms: None
239101 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Transforms: None
[2017-05-01 18:51:53,221] TRACE Explainer:   Strategy selection:
239101 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Strategy selection:
[2017-05-01 18:51:53,226] TRACE Explainer:     Query processing took 3ms and produced 1 options
239106 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Query processing took 3ms and produced 1 options
[2017-05-01 18:51:53,226] TRACE Explainer:     Filter plan: FilterPlan[AttributeIndex[di = 1][None]]
239106 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Filter plan: FilterPlan[AttributeIndex[di = 1][None]]
[2017-05-01 18:51:53,226] TRACE Explainer:     Strategy selection took 0ms for 1 options
239106 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Strategy selection took 0ms for 1 options
[2017-05-01 18:51:53,226] TRACE Explainer:   Strategy 1 of 1: AttributeIndex
239106 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Strategy 1 of 1: AttributeIndex
[2017-05-01 18:51:53,226] TRACE Explainer:     Strategy filter: AttributeIndex[di = 1][None]
239106 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Strategy filter: AttributeIndex[di = 1][None]
[2017-05-01 18:51:53,227] TRACE Explainer:     Plan: org.locationtech.geomesa.accumulo.index.EmptyPlan
239107 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Plan: org.locationtech.geomesa.accumulo.index.EmptyPlan
[2017-05-01 18:51:53,227] TRACE Explainer:       Table: 
239107 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -       Table: 
[2017-05-01 18:51:53,227] TRACE Explainer:       Deduplicate: false
239107 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -       Deduplicate: false
[2017-05-01 18:51:53,227] TRACE Explainer:       Column Families: all
239107 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -       Column Families: all
[2017-05-01 18:51:53,228] TRACE Explainer:       Ranges (0): 
239108 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -       Ranges (0): 
[2017-05-01 18:51:53,228] TRACE Explainer:       Iterators (0):
239108 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -       Iterators (0):
[2017-05-01 18:51:53,228] TRACE Explainer:     Plan creation took 1ms
239108 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -     Plan creation took 1ms
[2017-05-01 18:51:53,228] TRACE Explainer:   Query planning took 17ms
239108 [Thread-5] TRACE org.locationtech.geomesa.index.utils.Explainer  -   Query planning took 17ms
4

1 回答 1

0

我通过在 maven shade 插件中添加缺少的转换器来选择各种运行时实现来解决这个问题,如下所示

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-shade-plugin</artifactId>
   <version>3.0.0</version>
   <executions>
      <execution>
         <phase>package</phase>
         <goals>
            <goal>shade</goal>
         </goals>
         <configuration>
            <!-- <minimizeJar>true</minimizeJar> -->
            <createDependencyReducedPom>false</createDependencyReducedPom>
            <filters>
               <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                     <exclude>META-INF/*.SF</exclude>
                     <exclude>META-INF/*.DSA</exclude>
                     <exclude>META-INF/*.RSA</exclude>
                  </excludes>
               </filter>
            </filters>
            <transformers>
               <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
            </transformers>
         </configuration>
      </execution>
   </executions>
</plugin>
于 2017-05-03T06:01:38.140 回答