For
the system property route, do you mean set it on
geoserver? If so then that did not work.
For
the second option I’m not directly querying the
accumulo stack, I’m doing it via geoserver so I
do not think I can add that hint.
What
I do know is 1.2.0 dev system returns the
correct number of matches with the WFS
response. The 1.2.2 based system is returning
the total number of features regardless of the
actual query. I didn’t upgrade the 1.2.0 dev
system but I bet as soon as I do it no longer
returns a correct count. When I say a different
number the WFS request matched 3
records/features.
On
the 1.2.0 based system for the same data I had
numberMatched=”3” but for the 1.2.2 based
system it had numberMatched=”1508503” (for
resultType=hits)
Same
data set, same query:
CQL_FILTER=(BBOX(pickupLocation,
-73.82473468780518,40.82369327545166,-73.81924152374268,40.828328132629395,
'EPSG:4326') AND (Total_amount >=1 AND
Total_amount <=5))
With
outputFormat=json:
1.2.0 gave
field "totalFeatures":
3
1.2.2 gave field
“totalFeatures”: 1508503
Diane
Hi
Diane,
Most likely it is due to getCount being called on
the feature collection being returned. Since
GeoMesa is streaming data from accumulo, in order
to calculate an exact count we essentially have to
run the query twice. Because of this, we return a
fake count, or in the upcoming 1.2.3 an estimated
count.
Since sometimes the exact count is important, we
have two ways to force the counting:
1. Set the system property "geomesa.force.count"
to "true" to force exact counting for all queries
2. For individual queries, set a query hint using
the key
org.locationtech.geomesa.accumulo.index.QueryHints.EXACT_COUNT
and the value of Boolean.TRUE
I believe this behavior was the same in 1.2.0
though...
Could you try one of the above and see if it
resolves your problem?
Thanks,
Emilio
On 06/23/2016 01:10 PM, Diane
Griffith wrote:
We had upgraded to GeoMesa
1.2.2 in order to fix the ability to combine IN
parameters in a cql call and get proper
results. But I did leave one environment set to
GeoMesa 1.2.0.
What we noticed recently when
finally hooking paging is that the WFS calls
(version 2.0.0) we issued would return the
correct number of results given the CQL_FILTER
(that would hold a bbox as well as other cql
filters) but the value in numberMatched was the
total number of features for the feature type
specified not the number of results that would
match the CQL_FILTER. So we would indicate
there were more pages available for the user
than actual number of results.
I also tried testing where I
just sent a BBOX parameter instead of combining
that with the cql_filter and it was behaving the
same. WFS responses hooked to GeoMesa 1.2.0
indicated the correct number but WFS responses
hooked to GeoMesa 1.2.2 were reporting the total
number of features for the specified feature
type not the number of features that matched the
bbox specified for that feature type.
I looked at the queries
logged in accumulo and they looked the same on
quick review. I also looked at the call logged
by GeoServer and it looked the same as well.
I was trying to find where in
the code it set the numberMatched field for the
WFS 2.0.0 response but I hadn’t found that yet.
I can upgrade the old
environment but I believe once I do that it will
behave the same and no longer give correct
numberMatched values.
I compared JDK versions of
the servers, geoserver versions, that they both
have native JAI and it all matches. Also both
appear to use the same version of GeoTools
14.1. The only difference I have found so far
is GeoMesa version. Has anyone noticed this
issue yet? Is there a fix for it?
Thanks,
Diane
_______________________________________________
geomesa-users mailing list
geomesa-users@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.locationtech.org/mailman/listinfo/geomesa-users