Difference between revisions of "Index Module"

From BaseX Documentation
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{Func|index:facets|$db as xs:string|xs:string}}<br/>{{Func|index:facets|$db as xs:string, $type as xs:string|xs:string}}
+
|<pre>index:facets(
 +
  $db   as xs:string,
 +
  $type as xs:string := ()
 +
) as xs:string</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''
Line 32: Line 35:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{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)*}}
+
|<pre>index:texts(
 +
  $db         as xs:string,
 +
  $prefix     as xs:string   := (),
 +
  $ascending as xs:boolean?  := false()
 +
) as element(value)*</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''
|Returns all strings stored in the [[Indexes#Text Index|Text Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the 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.
+
|Returns all strings stored in the [[Indexes#Text Index|Text Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the ones starting with that prefix.<br/>If {{Code|$prefix}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified entry.
 
|- valign="top"
 
|- valign="top"
 
|'''Errors'''
 
|'''Errors'''
Line 46: Line 53:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{Func|index:attributes|$db as xs:string|element(value)*}}<br/>{{Func|index:attributes|$db as xs:string, $prefix as xs:string|element(value)*}}<br/>{{Func|index:attributes|$db as xs:string, $start as xs:string, $ascending as xs:boolean|element(value)*}}
+
|<pre>index:attributes(
 +
  $db         as xs:string,
 +
  $prefix     as xs:string   := (),
 +
  $ascending as xs:boolean?  := false()
 +
) as element(value)*</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''
|Returns all strings stored in the [[Indexes#Attribute Index|Attribute Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the 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.
+
|Returns all strings stored in the [[Indexes#Attribute Index|Attribute Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the ones starting with that prefix.<br/>If {{Code|$prefix}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.
 
|- valign="top"
 
|- valign="top"
 
|'''Errors'''
 
|'''Errors'''
Line 60: Line 71:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{Func|index:tokens|$db as xs:string|element(value)*}}
+
|<pre>index:tokens(
 +
  $db as xs:string
 +
) as element(value)*</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''
Line 74: Line 87:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{Func|index:element-names|$db as xs:string|element(value)*}}
+
|<pre>index:element-names(
 +
  $db as xs:string
 +
) as element(value)*</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''
Line 88: Line 103:
 
{| width='100%'
 
{| width='100%'
 
|- valign="top"
 
|- valign="top"
| width='120' | '''Signatures'''
+
| width='120' | '''Signature'''
|{{Func|index:attribute-names|$db as xs:string|element(value)*}}
+
|<pre>index:attribute-names(
 +
  $db as xs:string
 +
) as element(value)*</pre>
 
|- valign="top"
 
|- valign="top"
 
|'''Summary'''
 
|'''Summary'''

Latest revision as of 17:13, 9 March 2023

This XQuery Module provides functions for displaying information stored in the database index structures.

For functions that use the indexes to return nodes see Value Indexes in the Database Module and ft:search in the Full-Text Module.

Conventions[edit]

All functions and errors in this module are assigned to the http://basex.org/modules/index namespace, which is statically bound to the index prefix.

Functions[edit]

index:facets[edit]

Signature
index:facets(
  $db    as xs:string,
  $type  as xs:string  := ()
) as xs:string
Summary Returns information about all facets and facet values of the database $db in document structure format.
If $type is specified as flat, the function returns this information in a flat summarized version. The returned data is derived from the Path Index.
Errors db:get: The addressed database does not exist or could not be opened.
Examples
  • index:facets("DB") returns information about facets and facet values on the database DB in document structure.
  • index:facets("DB", "flat") returns information about facets and facet values on the database DB in a summarized flat structure.

index:texts[edit]

Signature
index:texts(
  $db         as xs:string,
  $prefix     as xs:string    := (),
  $ascending  as xs:boolean?  := false()
) as element(value)*
Summary Returns all strings stored in the Text Index of the database $db, along with their number of occurrences.
If $prefix is specified, the returned entries will be refined to the ones starting with that prefix.
If $prefix and $ascending are specified, all nodes will be returned after or before the specified entry.
Errors db:get: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:attributes[edit]

Signature
index:attributes(
  $db         as xs:string,
  $prefix     as xs:string    := (),
  $ascending  as xs:boolean?  := false()
) as element(value)*
Summary Returns all strings stored in the Attribute Index of the database $db, along with their number of occurrences.
If $prefix is specified, the returned entries will be refined to the ones starting with that prefix.
If $prefix and $ascending are specified, all nodes will be returned after or before the specified start entry.
Errors db:get: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:tokens[edit]

Signature
index:tokens(
  $db  as xs:string
) as element(value)*
Summary Returns all strings stored in the Token Index of the database $db, along with their number of occurrences.
Errors db:get: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:element-names[edit]

Signature
index:element-names(
  $db  as xs:string
) as element(value)*
Summary Returns all element names stored in the Name Index of the database $db, along with their number of occurrences.
Errors db:get: The addressed database does not exist or could not be opened.

index:attribute-names[edit]

Signature
index:attribute-names(
  $db  as xs:string
) as element(value)*
Summary Returns all attribute names stored in the Name Index of the database $db, along with their number of occurrences.
Errors db:get: The addressed database does not exist or could not be opened.

Changelog[edit]

Version 8.4
Version 7.7
  • Updated: the functions no longer accept Database Nodes as reference. Instead, the name of a database must now be specified.
Version 7.3

The module was introduced with Version 7.1.