|
From: Joe W. <jo...@gm...> - 2022-11-18 19:08:36
|
Oh, when querying the range index, you've got to hard code the element name in the query. Fields may offer you the combination of flexibility and speed that you are after. On Fri, Nov 18, 2022 at 1:56 PM Harris, Bernard T. (GSFC-5870) < ber...@na...> wrote: > Thanks for the reply. However, after defining a range index for all 14 > choices and indexing the collection, the performance is the same (3 minutes > instead of less than a second when the name of the element is hard coded). > Is there anything else I can do with a range index? Thanks. > > > > Bernie > > > > *From: *Joe Wicentowski <jo...@gm...> > *Date: *Tuesday, November 15, 2022 at 2:34 PM > *To: *"Harris, Bernard T. (GSFC-5870)" <ber...@na...> > *Cc: *"exi...@li..." <exi...@li... > > > *Subject: *[EXTERNAL] Re: [Exist-open] Defining an index on a choice > element > > > > Hi Bernie, > > > > Yes, if you're using range indexes you need to define them one index per > element/attribute qname. For a somewhat more flexible approach, you might > be able to use facets and/or fields - see > https://exist-db.org/exist/apps/doc/lucene#facets-and-fields > <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexist-db.org%2Fexist%2Fapps%2Fdoc%2Flucene%23facets-and-fields&data=05%7C01%7Cbernard.t.harris%40nasa.gov%7Cff137e443f76494eae1208dac7401364%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638041376755976347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000%7C%7C%7C&sdata=SFNBrFsFL2HaXPqykp7t56GjRfOfgvkXcBBDlZpP%2BIY%3D&reserved=0> > . > > > > Joe > > > > On Tue, Nov 15, 2022 at 7:28 AM Harris, Bernard T. (GSFC-5870) via > Exist-open <exi...@li...> wrote: > > I need to do queries like > > > > Let $docs := collection(“/db/SPASE”) > > Let $type := “NumericalData” > > Let $result := $docs/Spase/*[name() = $type] > > > > Where $type may be the name of any one of many “choice” elements from the > schema https://spase-group.org/data/schema/spase-2.5.0.xsd > <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspase-group.org%2Fdata%2Fschema%2Fspase-2.5.0.xsd&data=05%7C01%7Cbernard.t.harris%40nasa.gov%7Cff137e443f76494eae1208dac7401364%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638041376755976347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000%7C%7C%7C&sdata=xd0gi6EnRf1IN8AOC%2B1jg33zkhVtFPTJEDZIbFmOuGc%3D&reserved=0> > > … > > <xsd:complexType name="Spase"> > > <xsd:sequence> > > <xsd:element name="Version" type="spase:Version" minOccurs="1" > maxOccurs="1" /> > > <xsd:choice minOccurs="1" maxOccurs="unbounded"> > > <xsd:element name="Collection" type="spase:Collection" /> > > <xsd:element name="Catalog" type="spase:Catalog" /> > > <xsd:element name="DisplayData" type="spase:DisplayData" /> > > <xsd:element name="NumericalData" type="spase:NumericalData" /> > > <xsd:element name="Document" type="spase:Document" /> > > <xsd:element name="Software" type="spase:Software" /> > > <xsd:element name="Granule" type="spase:Granule" /> > > <xsd:element name="Instrument" type="spase:Instrument" /> > > <xsd:element name="Observatory" type="spase:Observatory" /> > > <xsd:element name="Person" type="spase:Person" /> > > <xsd:element name="Registry" type="spase:Registry" /> > > <xsd:element name="Repository" type="spase:Repository" /> > > <xsd:element name="Service" type="spase:Service" /> > > <xsd:element name="Annotation" type="spase:Annotation" /> > > </xsd:choice> > > </xsd:sequence> > > <xsd:attribute name="lang" type="xsd:string" default="en"/> > > </xsd:complexType> > > … > > As expected, this performs poorly without a range index. But what is the > qname of the choice? Do I have to define an index for each choice? That > is, 14 range indexes for Collection, Catalog, …. Thanks. > > > > Bernie > > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fexist-open&data=05%7C01%7Cbernard.t.harris%40nasa.gov%7Cff137e443f76494eae1208dac7401364%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638041376755976347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000%7C%7C%7C&sdata=fDOpX8JdKGlXJeWWQuY7rFpZXpoOtyFVM8%2FlDps9CSs%3D&reserved=0> > > |