Changes

Jump to navigation Jump to search
1,853 bytes added ,  13:48, 7 June 2018
no edit summary
This module provides [[Module Library|XQuery ModulesModule]] provides functions for displaying information stored in the database index structures. All functions are introduced with the {{Mono|index:}} prefix, which is linked to the statically declared {{Mono|http://basex.org/modules/index}} namespace.
=Commonalities=For functions that use the indexes to return nodes see [[Database_Module#Value_Indexes|Value Indexes]] in the [[Database Module]] and {{Function|Full-Text|ft:search}} in the [[Full-Text Module]].
All functions share {{Mono|$db}} as argument, which may either reference a string, denoting the name of the addressed database, or a node from an already opened database. The following errors may be raised by all functions:=Conventions=
* All functions and errors in this module are assigned to the <bcode>[[XQuery Errors#BaseX Errors|BASX0001]]<nowiki>http://basex.org/modules/b> is raised if the index required by a function is not available.* <b/nowiki>[[XQuery Errors#BaseX Errors|BASX0002]]</bcode> namespace, which is raised if statically bound to the {{MonoCode|$dbindex}} references a node that is not stored in a database (i.e., references a main-memory XML fragment)prefix.* <b>[[XQuery Errors#BaseX Errors|BASX0003]]<br/b> is raised if the addressed database cannot be opened.
=Functions=
==index:facets==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:facets</b>(|$db as item()) as xs:string|xs:string}}<br/>{{MonoFunc|<b>index:facets</b>(|$db as item()xs:string, $type as xs:string) as |xs:string}}
|-
| valign='top' | '''Summary'''|Returns information about possible all facets and facet values on a of the database {{Code|$db}} in document structure format.<br/>If {{MonoCode|$type}} is specified as {{MonoCode|flat}}, the function returns this information in a flat summarized version. The returned data is derived from the [[Indexes#Path Index|Path Index]].
|-
| valign='top' 'Errors'''|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.|-| '''Examples'''
|
* {{MonoCode|index:facets("DB")}} returns information about facets and facet values on the database {{MonoCode|DB}} in document structure.* {{MonoCode|index:facets("DB", "flat")}} returns information about facets and facet values on the database {{MonoCode|DB}} in a summarized flat structure.
|}
==index:texts==
 {|width='100%'|-| width='120' | '''Signatures'''|{{Func|index:texts|$db as xs:string|element(value)*}}<br/>{{Func|index:texts|$db as xs:string, $prefix as xs:string|element(value)*}}<br/>{{Func|index:texts|$db as xs:string, $start as xs:string, $ascending as xs:boolean|element(value)*}}
|-
| valign='top' width='90' | '''SignaturesSummary'''|Returns all strings stored in the [[Indexes#Text Index|Text Index]] of the database {{MonoCode|<b>index:texts</b>($db as item()) as element(value)*}}, along with their number of occurrences.<br/>If {{MonoCode|$prefix}} is specified, the returned entries will be refined to the ones starting with that prefix.<b>index:texts<br/b>(If {{Code|$db as item(), start}} and {{Code|$prefix as xs:string) as element(value)*ascending}}are specified, all nodes will be returned after or before the specified start entry.
|-
| valign='top' | '''SummaryErrors'''|Returns all strings stored in the text index, along with their number of occurrences{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>If {{MonoError|$prefixdb:no-index|Database Module#Errors}} the index is specified, the returned nodes will be refined to the strings starting with that prefixnot available.
|}
==index:attributes==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:attributes|$db as xs:string|element(value)*}}<br/b>({{Func|index:attributes|$db as item()) xs:string, $prefix as xs:string|element(value)*}}<br/>{{MonoFunc|<b>index:attributes</b>(|$db as item()xs:string, $prefix start as xs:string) , $ascending as xs:boolean|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all strings stored in the attribute index[[Indexes#Attribute Index|Attribute Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{MonoCode|$prefix}} is specified, the returned nodes entries will be refined to the strings ones starting with that prefix.<br/>If {{Code|$start}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.|-|'''Errors'''|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|db:no-index|Database Module#Errors}} the index is not available.|} ==index:tokens== {| width='100%'|-| width='120' | '''Signatures'''|{{Func|index:tokens|$db as xs:string|element(value)*}}|-|'''Summary'''|Returns all strings stored in the [[Indexes#Token Index|Token Index]] of the database {{Code|$db}}, along with their number of occurrences.|-|'''Errors'''|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|db:no-index|Database Module#Errors}} the index is not available.
|}
==index:element-names==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:element-names</b>(|$db as item()) as xs:string|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all element names stored in the index[[Indexes#Name Index|Name Index]] of the database {{Code|$db}}, along with their number of occurrences.|-|'''Errors'''|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.
|}
==index:attribute-names==
 {|width='100%'|-| width='120' | '''Signatures'''|{{Func|index:attribute-names|$db as xs:string|element(value)*}}
|-
| valign='top' width='90' | '''SignaturesSummary'''|Returns all attribute names stored in the [[Indexes#Name Index|Name Index]] of the database {{MonoCode|<b>index:attribute-names</b>($db as item()) as element(value)*}}, along with their number of occurrences.
|-
| valign='top' | '''SummaryErrors'''|Returns all attribute names stored in the index, along with their number of occurrences{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.
|}
=Changelog=
The module was introduced with {{;Version8.4 * Added: [[#index:tokens|index:token]] ;Version 7.1}}7 * Updated: the functions no longer accept [[Database Module#Database Nodes|Database Nodes]] as reference. Instead, the name of a database must now be specified. ;Version 7.3 * Updated: [[#index:texts|index:texts]], [[#index:attributes|index:attributes]]: signature with three arguments added.
[[Category:XQuery]]The module was introduced with Version 7.1.
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu