@ Override public OIndexFullText put ( Object key , final OIdentifiable singleValue ) { if ( key == null ) { return this ; } key = getCollatingValue ( key ) ; final Set < String > words = splitIntoWords ( key . toString ( ) ) ; // FOREACH WORD CREATE THE LINK TO THE CURRENT DOCUMENT for ( final String word : words ) { acquireSharedLock ( ) ; try { if ( apiVersion == 0 ) { doPutV0 ( singleValue , word ) ; } else if ( apiVersion == 1 ) { doPutV1 ( singleValue , word ) ; } else { throw new IllegalStateException ( "Invalid API version, " + apiVersion ) ; } } finally { releaseSharedLock ( ) ; } } return this ; }
Indexes a value and save the index . Splits the value in single words and index each one . Save of the index is responsibility of the caller .