LDI Docs – Appendix B (Lucene Domain Index Storage)
March 11, 2011 Leave a comment
B Lucene Domain Index Storage
OJVMDirectory class creates a set of Oracle objects to represent Lucene Inverted Index and Domain Index functionality. First it creates a table named IDX_NAME$T (IDX_NAME is your Lucene Domain Index used at create index DDL statement) with this structure:
| Name | Null? | Type |
|---|---|---|
| NAME | NOT NULL | VARCHAR2(30) |
| LAST_MODIFIED | TIMESTAMP(6) | |
| FILE_SIZE | NUMBER(38) | |
| DATA | BLOB | |
| DELETED | CHAR(1) |
Also have and index based on IDX_NAME$T.DELETED column to speedy up purge operations. To enqueue operation at the index it defines a DBMS_AQ Queue IDX_NAME$Q with his storage table IDX_NAME$QT. IDX_NAME$Q queue have payload defined as LUCENE_MSG_TYP object. This object type is defined as:
| Name | Null? | Type |
|---|---|---|
| RIDLIST | SYS.ODCIRIDLIST | |
| OPERATION | VARCHAR2(32) |
SYS.ODCIRIDLIST is an special structure defined by ODCI API to hold a list of rowid changed by an DML operation. OPERATION is one of insert, delete, update, rebuild, optimize, insert-ram or insert-disk reserved keyword. rebuild and optimize operations are used with SyncMode:OnLine to perform these tasks automatically using a background process. insert-ram and insert-disk are messages enqueued internally by LDI when ParallelDegree is enabled.
When using ParallelDegree grater than 1 the structure showed above is replicated for N parallel storages used when indexing, it means that, for example, with ParallelDegree:2 for an index name SOURCE_BIG_LIDX there will be two extra structures named SOURCE_BIG_LIDX$0{$Q|$QT|$T} and SOURCE_BIG_LIDX$1{$Q|$QT|$T}.
Doc Links
Previous / LDI Docs – Appendix A (Parameter reference and syntax)
Next / LDI Docs – Appendix C (JUnit test suites explained)
Recent Comments