UltipaDocs
Try Playground
  • Introduction
  • Terminologies
    • Reserved Words
    • Data Types
    • Alias
    • Operators
    • Expression
    • Filter
    • Prefix
    • Node and Edge Templates
    • Homologous and Heterologous Data
    • Clause Execution Times
    • Graphset
    • Schema
    • Property
    • Insert
    • Overwrite
    • Upsert
    • Update
    • Delete
    • Find Nodes
    • Find Edges
      • AB
      • Autonet
      • Spread
      • Path Template
      • K-Hop
      • K-Hop Template
    • Find Subgraphs
    • GROUP BY
    • ORDER BY
    • SKIP
    • LIMIT
    • WHERE
    • RETURN
    • WITH
    • UNCOLLECT
    • UNION
    • UNION ALL
    • CALL
    • BATCH
      • Schema Checker
      • Equal
      • Not Equal
      • Less Than
      • Greater Than
      • Less Than or Equal
      • Greater Than or Equal
      • Between
      • Between or Equal
      • Beong to
      • Not Belong To
      • CONTAINS | String
      • CONTAINS | Full-Text
      • Regular Match
      • IS NULL
      • IS NOT NULL
      • And
      • Or
      • Not
      • Exclusive OR
      • DISTINCT
      • toString()
      • toInteger()
      • toFloat()
      • toDouble()
      • toDecimal()
      • toSet()
      • castToRaw()
      • now()
      • dateAdd()
      • dateDiff()
      • year()
      • month()
      • day()
      • dayOfWeek()
      • dateFormat()
      • point()
      • distance()
      • pointInPolygon()
      • lower()
      • upper()
      • reverse()
      • startsWith()
      • endsWith()
      • JSON_decode()
      • JSON_merge()
      • trim()
      • ltrim()
      • rtrim()
      • left()
      • right()
      • substring()
      • replace()
      • split()
      • intersection()
      • difference()
      • listUnion()
      • size()
      • head()
      • reduce()
      • listContains()
      • append()
      • pi()
      • pow()
      • sqrt()
      • abs()
      • floor()
      • ceil()
      • round()
      • sin()
      • cos()
      • tan()
      • cot()
      • asin()
      • acos()
      • atan()
      • length()
      • pnodes()
      • pedges()
      • count()
      • sum()
      • max()
      • min()
      • avg()
      • stddev()
      • collect()
      • dedup()
      • CASE
      • table()
      • coalesce()
      • ifnull()
    • Acceleration
    • Index
    • Full-text
    • LTE
    • Real-time Process
    • Backend Task
    • Analytics Node
    • Server Statistics
    • Server Backup
    • Privilege
    • Policy
    • User
  • Trigger
  1. Docs
  2. /
  3. UQL
  4. /
  5. Index | Full-text | LTE

Acceleration

Overview

Creating an index for a property involves generating an index tree stored on disk, which enables quicker retrieval and filtering of nodes and edges.

Ultipa's exclusive full-text index performs word segmentation for a textual property, and establishes a reverse index based on the results of the segmentation. This index, stored on disk, enables efficient keyword searches and is ideal for text-based filters.

Additionally, Ultipa facilitates the loading of a property and its index into its high-performance computing engine, known as LTE (Load To Engine). This accelerates the filtering of nodes and edges by minimizing disk I/O time.

Index vs. LTE

Both the index and LTE improve query performance by consuming disk space and persisting the created content. However, they differ in some respects.

Acceleration Object
IndexLTE
Node and edge queries, i.e., find().nodes() and find().edges()✓✕
The filtering of the start nodes in other queries (path, khop, etc.)✓ (Precedence)✓
The filtering of nodes and edges other than the start nodes in other queries (path, khop, etc.)✓✓ (Precedence)
Properties used in algorithms✕✓
IndexLTE
Implementation RationaleCreates index trees and uses data structures in persistent storage, accelerating queries without burdening memoryLoads property to Ultipa computing engine, allowing direct property filtering during queries and reducing dependency on disk based I/O
Memory and Disk UsageIndex tree is saved on diskConsumes some memory depending on the type and size of the property; values are also kept on disk persistently for automatic reloading after instance reboot
NOTE

A property can be both indexed and LTE-ed to suit different scenarios. Both index and LTE will be automatically updated.