Jim,
           
          Thanks for
              the response.  My workaround for the temporal truncating
              bug right now is to add a second to the time that I use
              along with the BEFORE portion of my query.  For my
              purposes, this workaround has no ill effects.
           
          I am
              definitely setting the "SF_PROPERTY_START_TIME" in
            userData to the “myTime” attribute (see example in my
            original post).  I am doing it in a way analogous to the
            following which is how I’ve been doing it for a while now:
              SimpleFeatureType featureType = null;
              … // instantiate featureType
             
            featureType.getUserData().put(Constants.SF_PROPERTY_START_TIME,
            “myTime”);
           
          As far as the “explainQuery”
            function/feature in Java.  I would be content setting the
            log level for the
            geomesa.core.index.IndexQueryPlanner
            class to TRACE in order to see the explain query
            output.  I would probably only do this during
            development/debugging.
           
          I do see that you have added ‘secondary’
            indexes for non-spatio-temporal attirbutes.  I notice that
            the latest version of GeoMesa generates multiple accumulo
            tables for each feature type, e.g.
              TableName
              …
              TableName_FeatureName_attr_idx
              TableName_FeatureName_records
              TableName_FeatureName_st_idx
           
          I am not
              an accumulo expert, so I yield to your expertise.  But I
              thought I would ask if it is necessary to create separate
              accumulo tables for the “_attr_idx”, “_records”, and
              “_st_idx” tables instead of simply creating new feature
              types within the original accumulo table?  I ask because I
              find that I now have tons of GeoMesa-created accumulo
              tables which seem to clutter things up.  I have been
              sticking a lot of different feature types in the same
              GeoMesa/accumulo table and I used to only have one
              GeoMesa-created accumulo table.  Now I have 34
              GeoMesa-created accumulo tables.  Again, if
              indexing/querying is faster using multiple tables, then I
              probably need to get over this “clutter”.  What are your
              thoughts?
           
          Is there a
              quick command to delete accumulo tables using a regular
              _expression_ via the accumulo shell?
           
          Thanks,
           
          Beau
           
           
           
          
           
          Hi Beau,
            
            Great question.  Let me start with two general notes:
            
            First, our current goal is to support ECQL as implemented by
            GeoTools.  By that I mean that if you have a collection of
            features, add them to GeoMesa and then apply a filter to the
            collection and to GeoMesa, you should see the same results. 
            In a quick test, I was able to use your ECQL and cook up a
            SimpleFeature with a Date between the end points of the
            filter.  The filter did accept the feature, so, yes, I'm
            calling this a bug.*
            
            Second, as a more general note, we have added an
            "explainQuery" function/feature recently so that users (and
            developers) can take a peek under the hood and see how their
            query is being planned and executed.  Some notes about how
            to use it from the Scala console are in the commit message:
            https://github.com/locationtech/geomesa/commit/775634b831255f0f787415decd1e705dbbbd50af 
            The query explanation is also available when the log level
            for the class
            geomesa.core.index.IndexQueryPlanner
            is set to TRACE.
            
            At the moment, I'm working on how we plan queries from the
            ECQL filter.  We have also added 'secondary' indexes for
            non-spatio-temporal attributes.  In the future, we are
            considering allowing additional spatio- and/or temporal-
            indexes (with different resolutions).  As that work
            continues, the query explainer will be able to describe why
            we choose to treat a query in one way or another. 
            
            
            As a practical note about the query explainer, I haven't had
            a chance to think through using it from Java.  If you try it
            out and there are inter-op issues, let us know.
            
            
            * Back to your original question:  Hunter is working up some
            unit tests.  From a cursory look, I'd ask if you are setting
            the "SF_PROPERTY_START_TIME" in userData on the
            SimpleFeatureTypes.  While encoding/ingesting data, if there
            was miscommunication about the name of the time field to
            index, GeoMesa might not be encoding the Date in the index
            entries.  Without the userData set, on the query side of
            things, we may misunderstand the query and do something
            silly.
            
            Thanks again,
            
            Jim
            
            
            
          
            On 07/30/2014 03:40 PM, Beau Lalonde
              wrote:
           
          
            Hi,
             
            We just installed the latest GeoMesa
              (actually it was from yesterday).  I am happy to report
              that I have noticed that several bugs have been fixed
              since the mid-June version; however, I have noticed a new
              bug related to temporal querying.
             
            I am indexing the temporal component of
              my data using a Date object, and I am querying using CQL
              analogous to the following:
                    ((myTime BEFORE
              2014-07-30T19:29:07.917Z) AND (myTime AFTER
              2014-07-30T19:29:07.519Z))
             
            It appears to me that the temporal
              bounds of my above CQL query are truncated to the second
              before the query is performed.  I have verified that the
              actual Date data in GeoMesa is not truncated or modified.
             
            For example, the following scenario
              fails to return any query results (even though logically
              it should):
                  Indexed time:
              2014-07-30T19:29:07.520Z
                  CQL query string: ((myTime BEFORE
              2014-07-30T19:29:07.917Z) AND (myTime AFTER
              2014-07-30T19:29:07.519Z))
                  My guess at the effective query
              string based upon observation: ((myTime BEFORE
              2014-07-30T19:29:07) AND (myTime AFTER
              2014-07-30T19:29:07))
             
            But the following scenario does return
              results as expected:
                  Indexed time:
              2014-07-30T19:34:40.746Z
                  CQL query string: ((myTime BEFORE
              2014-07-30T19:34:41.143Z) AND (myTime AFTER
              2014-07-30T19:34:40.745Z))
                  My guess at the effective query
              string based upon observation: ((myTime BEFORE
              2014-07-30T19:34:41) AND (myTime AFTER
              2014-07-30T19:34:40))
             
             
            I know that most people are probably
              not querying on a per-millisecond basis, but my code
              does.  Is this a GeoMesa bug?  Or do I need to modify my
              code to reflect that querying can only be performed at a
              resolution of one second?
             
            Thanks in advance,
             
            Beau
            
                
                
                
              
            _______________________________________________
            geomesa-users mailing list
            geomesa-users@xxxxxxxxxxxxxxxx
            To change your delivery options, retrieve your password, or unsubscribe from this list, visit
            http://www.locationtech.org/mailman/listinfo/geomesa-users
          
           
          
              
              
              
          _______________________________________________
          geomesa-users mailing list
          geomesa-users@xxxxxxxxxxxxxxxx
          To change your delivery options, retrieve your password, or unsubscribe from this list, visit
          http://www.locationtech.org/mailman/listinfo/geomesa-users