Toggle navigation
+1 216-820-2200
+1 216-820-2200
Toggle navigation
Products
Solutions
How to Buy
Support
Contact Us
News
About
List of Tables
Specifications
Relational Database Terminology
Valid and Invalid Column Names
Data Types Used in Texis
Comparison Operators Supported in Texis
Logical Operator
AND
Logical Operator
OR
Arithmetic Operators Supported in Texis
Texis Aggregate Function Names
Metamorph delimiter abbreviations
Overview of System Catalog Tables in Texis
Data types
Using Texis
Preface
Acknowledgment
Documentation Caveat
Documentation Structure
Introduction
Texis: Thunderstone's Text Information Server
What is it?
Why is that different?
What can we do with it?
Features Unique to Texis
Zero Latency Insert
Variable Sized Records
Indirect Fields
Variable Length Index Keys
Why all the variable stuff?
Specifications
Texis as a Relational Database Management System
Relational Database Background
Support of SQL
Case Example: Acme Industrial Online Corporate Library
Table Definition
Creating the Resume Table
Inserting Data into the Resume Table
Defining a Table
Command Discussion
Removing a Table
A First Look at Queries
Command Discussion
Retrieving From the Entire Table
Retrieving All the Columns
Retrieving a Subset of Rows: Simple Conditions
Retrieving a Subset of Rows: Compound Conditions
Retrieval Using the
AND
Operator
Retrieval Using the
OR
Operator
Retrieval Using Both
AND
and
OR
Operators
Retrieval Using Parentheses
Logical Operator
NOT
Additional Comparison Operators
Range and Geographical Searches Using
BETWEEN
Geographical Searches with
BETWEEN
Set-like Searches Using
IN
,
SUBSET
and
INTERSECT
Searches Using
IN
Searches Using
SUBSET
Searches Using
INTERSECT
IN
,
SUBSET
,
INTERSECT
Commonality
Search Condition Using
LIKE
Command Discussion
Relevance Ranking Using
LIKER
and
LIKEP
Command Discussion
Query searching using
LIKEIN
Search Condition Using
MATCHES
Sorting Your Results
Queries Involving Calculated Values
Arithmetic Calculations
Manipulating Information By Date
Summarizing Values:
GROUP BY
Clause and Aggregate Functions
Groups With Conditions:
HAVING
Clause
Server functions
File functions
fromfile, fromfiletext
totext
toind
canonpath
pathcmp
basename
dirname
fileext
joinpath
joinpathabsolute
String Functions
abstract
text2mm
keywords
length
lower
upper
initcap
sandr
separator
stringcompare
stringformat
Math functions
Date functions
Bit manipulation functions
Cryptographic functions
Internet/IP address functions
urlcanonicalize
Geographical coordinate functions
azimuth2compass
azimuthgeocode
azimuthlatlon
dms2dec, dec2dms
distgeocode
distlatlon
latlon2geocode, latlon2geocodearea
geocode2lat, geocode2lon
parselatitude, parselongitude
JSON functions
JSON Path Syntax
JSON Field Syntax
isjson
json_format
json_type
json_value
json_query
json_modify
json_merge_patch
json_merge_preserve
Other Functions
exec
mminfo
convert
seq
random
generate_uuid
bintohex
hextobin
identifylanguage
lookup
lookupCanonicalizeRanges
lookupParseRange
hasFeature
ifNull
isNull
xmlTreeQuickXPath
Advanced Queries
Retrieving Data From Multiple Tables
Command Discussion
Nesting Queries
Command Discussion
Forming Complex Queries
Joining a Table to Itself
Correlated Subqueries
Subquery Using EXISTS
Virtual Fields
Column Aliasing
Intelligent Text Search Queries
Types of Text Query
Definition of Metamorph Terms
Adjusting Linguistic Controls
Constructing a Metamorph Query
Keyword Search
Refining a Query
Adjusting Proximity Range by Specifying Delimiters
Delimiter Syntax Summary
Rules of Delimiter Syntax
Using Set Logic to Weight Search Items
Set Logic and Intersections Defined
Maximum Intersections Possible ("AND")
Specifying Fewer Intersections
Specifying No Intersections ("OR")
Weighting Items for Precedence (+)
Marking Items for Exclusion ("NOT") (-)
Combinatorial Logic
Combinatorial Logic and
LIKER
Metamorph Logic Rules Summary
Other Metamorph Features
Indexing for Increased Performance
When and How to Index
Creating An Index
Command Discussion
Creating a Unique Index
Command Discussion
Creating a Metamorph Index
Metamorph Index Types: Inverted vs. Compact vs. Counter
Inverted
Compact
Counter
Metamorph Index Capabilities and Limitations
Using
LIKE3
for Index Only Search (No Post-Search)
Creating an Inverted Index
Index Options
Available Options
Dropping an Index
Keeping the Database Current
Adding New Records
Inserting One Row at a Time
Command Discussion
Inserting Text
Inserting Multiple Rows at a Time
Command Discussion
Updating Records
Command Discussion
Making a Texis Owned File
Deleting Records
Command Discussion
Security
Creating Users and Logging In
Granting Privileges
Command Discussion
Removing Privileges
Command Discussion
Administration of the Database
System Catalog
Optimization
Table Compaction
Index Maintenance
Manual Index Optimization via
CREATE METAMORPH INDEX
Manual Index Optimization via
ALTER INDEX
Automatic Index Optimization via
chkind
Choosing Manual vs. Automatic Index Optimization
Reserved Words
Server Properties
Search and optimization parameters
Metamorph parameters
Rank knobs
Other ranking properties
Indexing properties
Locking properties
Miscellaneous Properties
Metamorph Intelligent Query Language
Metamorph: The Program Inside the Program
Background
Original Design Mandate
Tokenization and Inverted Files
Metamorph Query Language Highlights
Your Basic Metamorph Search
More Complex Query Syntax
Hits, Intersections and Sets
Definition and Background
Basic Operation
Intersections and Search Logic
Intersection Quantity Specification Further Explained
How `+' and `-' Logic Affects Intersection Settings
Modulating Set Size
Limiting Sets to Roots Only
Expanding Sets by Use of See References
Modulating Set Content
Modulating Hit Size by Adjusting Delimiters
Discussion
Delimiter Syntax Summary
Rules of Delimiter Syntax
Thesaurus Customization
Specializing Knowledge
Equivalence File Explanation
Editing Concept Sets With Backref
Toggling Equiv Expansion On or Off
Creating a User Equivalence File By Hand
User Equivalence File Format
Back Referencing
See Referencing
Word Classes and Parts of Speech
Rules of Precedence and Syntax
Specialized User Equivalence Files
Tailoring Metamorph's Linguistics
Editing Special Word Lists
Question Parsing
Morpheme Processing
Morpheme Stripping Routine
Suffix List Editing Notes
Toggling Prefix/Suffix Processing On/Off
Toggling Morpheme Rebuild Step On/Off
Setting Minimum Word Length
Warning to Linguistic Fiddlers
APICP Metamorph Control Parameters Summary
Types of Searches in Metamorph
Multiple Search Algorithms
The Natural Language Question
Single/Multiple Items, Keywords, Phrases, Wildcard Patterns (*)
Intelligent Intersection Search
String Search (Literal Pattern Match)
Fixed and Variable Length Regular Expressions (REX)
REX Description
Examples
Examples of Some Useful REX Expressions
Misspellings, Typos, and Pattern Approximations (XPM)
Searching for Approximations
XPM Rules of Syntax
Numeric Quantities Entered as Text (NPM)
Designating Logic Operators (+) and (-)
REX On Its Own
REX, The Regular Expression Pattern Matcher
REX Program Syntax and Options
Expressions
Repetition Operators
RE2 Syntax
\<nomatch\> Syntax
REX Caveats and Commentary
Some Useful REX Expressions
REX Replace Syntax
Other REX Notes
Metamorph API Tools
Metamorph Application Program Interface Overview
Technical Description
Some Search Examples and Explanations
Potential Applications
The Programmers' Interface Overview
The Metamorph 3 API Package
Metamorph 3 API functions
openapicp, closeapicp - Metamorph API control parameters interface
APICP Variable Definitions
Application Notes
openmmapi, closemmapi - Metamorph API initialization and cleanup
setmmapi - Metamorph API reinitialization
getmmapi - Metamorph API search routine
infommapi - Metamorph API hit information
rdmmapi - synchronized read
putmsg - handle a formatted message mmsgfh - FILE pointer for output mmsgfname - filename for output
putmsg() extensions: fixmmsgfh, closemmsgfh
putmsg() replacement
Query processing and Equivalence lookup
Equivalence editing callbacks
User equivalence file maintenance
Edit commands:
Reprogramming the Within Operator
Low level Pattern Matchers
Low level Pattern Matching functions
Windows Addendum
setmmsgfname - set the name of the message file
setmmsgfh - set the message file handle
setmmsg - set custom message handler function
Overview
The Network Metamorph API
Network Metamorph API Data Types
A Beginner's Guide to URLs
File URLs
Thunderstone File URLs
Gopher URLs
News URLs
HTTP URLs
Partial URLs
Other URLs
Metamorph and Texis common functions
n_getls, n_setls, n_putls - File name list manipulation functions
n_synchronous(), n_asynchronous() - Set server operational mode
n_reghitcb() - Register hit callback function
n_xpminfo(), n_freexpmi() - Hit information
openserver() , closeserver() , serveruser() , servergroup() , serverpass() - Connect and disconnect from service
n_setqry(), n_search(), n_closesrch() - Query handling functions
n_openrfile() n_closerfile() n_rread() n_rwrite() n_rseek() - Network file manipulation
urltype(), urlhost(), urlport(), urluser(), urlgroup(), urlpass(), urlfn(), urloffs(), urlrest() - URL parsing functions
Metamorph specific functions
n_setXXX(), n_getXXX() - Set Metamorph control parameters
NCG - The Network Code Generator
NCG
Overview
Usage
File Format
NCG File Prolog
NCG File Network Functions
NCG File Epilog
Special Types
Special Types:
ncgstr
Special Types:
ncgbuffer
Special Types:
ncgfunc
openserver()
,
closeserver()
,
serveruser()
,
serverpass()
freelst()
,
freelstlst()
- Support Functions
Texis Programs
Texis Core Programs
Required Programs
monitor
- Texis monitoring program
texisd
- The Texis Server Daemon
creatdb
- Creating a new database
tsql
- Texis Interactive SQL
texis
- Texis Web Script (Vortex)
anytotx
- Translate file formats to text
Supported File Formats
Formats Rule File
Maintenance Programs
chkind
- Index Maintenance Daemon
dumplock
,
ltest
- Lock Status Display
lockandrun
- Lock Database and Run Command
rmlocks
,
wsem
,
monlock
- Removing Stale Locks
kdbfchk
- Check and repair a database file
cpdb
- Copy a database across the network
copydb
- Copy a database across the network
copydbf
- Copy a database file
addtable
- Add existing table to database
wordlist
- Display words and frequencies from index
timport
- General purpose Texis importer
Unsupported Goodies
txtoc
,
txtocf
xtree
- sort / unique tool
tac
- reverse file cat
vhttpd
- Texis Web Script web server
Texis Servlet
Java JDBC Driver
Perl DBI Driver
Configuration and Reference
Texis Configuration file
Monitor
conf/texis.ini
Section
Chkind
conf/texis.ini
Section
Scheduler
conf/texis.ini
Section
License Update
conf/texis.ini
Section
Texis
conf/texis.ini
Section
Apicp
conf/texis.ini
Section
Anytotx
conf/texis.ini
Section
Httpd
conf/texis.ini
Section
Proxy Module
conf/texis.ini
Section
Auth Proxy
conf/texis.ini
Section
Httpd Fast CGI
conf/texis.ini
Section
Exit Codes
Version Differences
Timport: Texis General Purpose Data Import Tool
Overview
timport - General purpose Texis importer
Explanation
Requirements
Installation
Designing a Schema File
Preparing a Database and Table
Loading a Table with Timport
Multiple Records Per File
Field Definitions
Loading Multiple Tables Per File
Handling Columnar Records
Handling Columnar Records (Another way)
Date Formats
Try It On Your Mailbox
Importing Comma Separated Values
XML Namespaces
Keyword Review
Example schemas
Example Schema: Comma Separated Values (csv)
Example Schema: Fixed Width Columnar Records
Example Schema: Fixed Width Columnar Records (Patent)
Example Schema: Columnar Records, Incrementing Numbers, Field Lengths
Example Schema: Variable Width Columns (Web Server Log)
Example Schema: Variable Width Columns (Combined Web Server Log)
Example Schema: Tagged Format Data (Mailbox)
Example Schema: Multiple Output Tables
Example Schema: Load Individual Fields From Named External Files
Example Schema: External Text Files (3DB)
Example Schema: dBase/FoxPro
Example Schema: Oracle EXPORT (oracle)
Example Schema: XML
Example Schema: XML with xmldatasetlevel
Example Schema: XML with namespaces
The Texis Network Client API
Overview
Texis Client Functions
Network API common functions
openserver() , closeserver() , serveruser() , servergroup() , serverpass() - Connect and disconnect from service
Metamorph control parameters
SQL Interface Version 2
Building Unix client applications with the Texis SQL API
n_opentsql(), n_closetsql() - Texis SQL API initialization and cleanup
n_settsql(), n_exectsql() - Prepare a SQL statement for processing
n_gettsql() - Get resultant rows from a SQL statement
n_dotsql() - Prepare and execute a SQL statement
n_resulttsql() - Control the behavior of SQL
INSERT
,
DELETE
Formatting Codes for n_settsql() and n_gettsql()
Texis specific functions
n_regtexiscb() - Register hit callback function
n_getsrchlst(), n_freesrchlst(), n_srchinfo(), n_freesrchinfo(), n_fillsrchlst() - Hit information
n_xpminfo(), n_freexpmi() - Hit information
n_getindexcount() - Hit information
n_newindirect() - Object manipulation
n_rcopyto(), n_rcopyfrom() - File transfer
n_setXXX(), n_getXXX() - Texis control parameters
n_texis() - SQL interface
n_opentx(), n_duptx(), n_closetx() - SQL interface
n_settx(), n_runtx() - SQL interface
n_preptx(), n_exectx() - SQL interface
n_gettx() - SQL interface
n_settexisparam(), n_paramtx(), n_resetparamtx() - SQL interface
n_flushtx() - SQL interface
n_flushtx2() - SQL interface
n_offstx(),freemmoffs() - SQL interface
Modifying the server
adduserfuncs - Adding to the server
dbaddtype - Add a datatype
foaddfuncs - Add functions
fosetop - Add an operator
TRIGGERS
Overview
Syntax
The External Command
Why would I use triggers?
What does my program need to do?
opentbl() - Open a TBL.
closetbl() - Close a TBL structure.
rewindtbl() - Rewind a table.
gettblrow() - Reads the next row in from a table.
getfld() - get a value from a field
nametofld() - Get a field from a TBL.
Notes
INSERT
UPDATE
DELETE
Texis API Example Programs
Example Programs
loader - Example Loader Program
netex3 - Example Lookup Program
Texis Direct API
Overview
Data Dictionary functions
Table functions
Row and Field functions
Data Dictionary Functions
ddopen() - Open a data dictionary.
ddclose() - Close a data dictionary.
createdb() - Creates an empty database.
permstexis() - Set the security to Texis security.
Table level functions
opendbtbl() - Open a DBTBL.
closedbtbl() - Close a DBTBL structure.
createdbtbl() - Create a table, and add it to the data dictionary.
createindex - create an index
opendd() - create a new dd
closedd() - free a dd
rewinddbtbl() - Rewind a table.
Row and field level functions
getdbtblrow() - Reads the next row in from a table.
putdbtblrow() - Writes the current row in the table.
recidvalid() - determine if a RECID pointer is valid
getfld() - get a value from a field
putfld() - put a value into a field.
putdd() - adds a new field to an existing DD.
dbnametofld() - Get a field from a DBTBL.
getcounter() - Get a valid counter value
The CGI API
Overview
CGI API functions
opencgi(), closecgi() - CGI initialization and cleanup
getcgi() - get CGI variable
cgivar() - enumerate CGI variables
cgistarthdrs(), cgiendhdrs() - start/end HTTP headers
putcgi() - set state variable
cgiwritestate() - save state variables to cookie or file
cgiputcookie() - print arbitrary cookie header
htpf() - printf with HTML extensions
Metamorph Hit Markup
htpf_setapicp() - set default APICP for htpf()
Miscellaneous CGI functions
cgigetstate() - get state variable cookie
cgireadstate() - read state variables
cgiprocenv() - parse environment variables
User-defined variable lists
opencgisl(), closecgisl() - create/delete user-defined variable list
cgisladdvar() - add user-defined variable to list
cgisladdstr() - add user-defined variables from URL string
getcgisl() - get variable from user-defined list
cgislvar() - enumerate user-defined variable list
cgislsetcmp() - set user-defined variable comparison function
Copyright © Thunderstone Software
Last updated: Apr 15 2024
Texis Manual
Top
Next: Using Texis
PDF
Contact
Submit Request
Copyright © 2024 Thunderstone Software LLC. All rights reserved.