2010-08-16 27 views

Respuesta

3

Oracle Text indexing es el camino correcto. Puede usar el índice CONTEXT o CTXRULE. CONTEXT se puede utilizar en documentos no estructurados donde CTXRULE es más útil en documentos estructurados.

This vínculo proporcionará más información sobre los tipos de índice & sintaxis.

El factor más importante que debe tener en cuenta es LEXER & STOPLIST.

También puede leer los mensajes en asktom.oracle.com

http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:5533095920114

1

lo que está en su CLOB y lo que está buscando?

Oracle Text es bueno si está buscando palabras o frases (que es probablemente lo que tiene en un CLOB). Algunas veces almacenará algo "extraño" en un CLOB, como XML o el valor de retorno de una llamada al servicio web y podría ser una olla de pescado diferente.

+0

Serán palabras o frases en el CLOB, me gustaría realizar algún tipo de búsqueda de comodín como "% KEYWORDHERE% –

1

que tenía que hacer esto sólo recientemente y se le ocurrió la siguiente solución (utiliza Spring JDBC)

String sql = "select * from clobtest where dbms_lob.instr(myclob, ? , 1, 1) > 0"; 
return (String) getSimpleJdbcTemplate().getJdbcOperations().queryForObject(sql, new RowMapper<Object>() { 
    public String mapRow(ResultSet rs, int rowNum) throws SQLException { 
    String clobText = lobHandler.getClobAsString(rs, "myclob"); 
    return clobText; 
    } 
}, searchText); 

parece que funciona bastante bien, pero voy a hacer algunas pruebas de rendimiento para ver qué tan bien funciona bajo carga

Cuestiones relacionadas