Onix Text Retrieval Toolkit
API Reference

API
Function List
Topical List

Main Index

Introduction
Calling Sequences
Query Processing
Relevancy Ranking
Data Types
Error Handling
   
Support
   
Lextek Products
Onix Text Retrieval Engine
Lextek Document Profiler & Categorizer
Brevity Document Summarizer
RouteX Routing Engine
Language Identifier

MANUAL PROCESSING OF QUERIES

 

Navigating the Hit List

Onix provides a number of routines for navigating the result vectors that you create or the ones which are returned from processing queries via ixProcessQuery. These are relatively straightforward.

  • ixVectorCurrentHit
  • ixVectorNextHit
  • ixVectorPreviousHit
  • ixVectorNextRecord
  • ixVectorPreviousRecord

Each does what what you might expect and allows you to go forward and backwards in the results list.

Creating and Deleting Result Vectors

You may create your own result vectors using ixCreateResultVector in which you can store record numbers and word numbers. You can use these as a method to keep intermediate search results. You may also perform boolean operations on these result vectors. When you are finished, you may delete the result vector using ixDeleteResultVector. This is the same routine you use to delete result vectors returned by ixProcessQuery. You can add "hits" to a result vector by calling ixVectorAddHit if you are at the tail end of the vector. The hits do not need to be in record number / word number order though they do need to be if you plan on performing any boolean operations on them.

 

Manual Boolean Operators

You may perform boolean operations on result vectors that either you have created or those that are returned by ixProcessQuery. This allows you to narrow or expand or otherwise modify a search according another result vector. For example, you can take a new result result vector returned by a search and perform ixVectorNot with the results of a previous query giving you a result vector which contains only the new hits (those that are different between the first and second vectors).

Note: Each of these boolean operators depend on the result vector being in record number, word number order. If they are not sorted in this manner, these functions will return spurious results.

 

See Also

ixCreateResultVector, ixDeleteResultVector, ixGetCurrentQueryVector, ixVectorAnd, ixVectorOr, ixVectorNot, ixVectorRewind, ixVectorCurrentHit, ixVectorNextHit, ixVectorNextRecord, ixVectorPreviousHit, ixVectorPreviousRecord, ixVectorAddHit