¿Dónde puedo encontrar una lista de palabras de 'parar' para la búsqueda de texto completo de Oracle?
-
24-10-2019 - |
Pregunta
Tengo un cliente que prueba la búsqueda de texto completo (ejemplo a continuación) en un nuevo sitio Oracle UCM. La cadena de texto aleatoria que eligieron probar fue 'solo probar'. Que falló; De mi prueba, parece que 'solo' es una palabra reservada, ya que nunca se devuelve de una búsqueda de texto completo (se devuelve de las búsquedas de metadatos).
He pasado la mañana buscando oracle.com y encontrado este Lo cual parece bastante completo, pero no tiene "solo".
Entonces mi pregunta es, por lo tanto, es 'solo' una palabra reservada. ¿Dónde puedo encontrar una lista completa de palabras reservadas para la búsqueda de texto completo de Oracle (10g)?
Ejemplo de cadena de búsqueda de texto completo;
(<ftx>test only</ftx>)
Actualizar. He hecho algunas pruebas más. Parece que ignora las palabras que indican lugares o tiempos; Solo, algunos, hasta que, cuando, mientras, donde, allí, aquí, cerca, eso, quién, sobre esto, ellos.
¿Alguien puede confirmar esto? No puedo encontrar esto en Oracle en cualquier lugar.
Actualización 2. Respuesta de publicación Debería haber estado buscando 'detener' palabras no 'reservadas'. Actualizó el título de la pregunta y las etiquetas para reflejar.
Solución
Apuesto a que el sistema está tratando de ignorar automáticamente las palabras que ocurren con frecuencia. Eso explicaría por qué no puede encontrar 'solo' pero 'no se puede encontrar. ¿Puedes buscar 'A', 'An', ...
La lista que dio de palabras que no funcionan parece algunas palabras muy comunes que con frecuencia no son las palabras principales en una oración. Dado esto, no es probable que sean palabras que está buscando en una búsqueda de texto completo.
¿Cuáles son las probabilidades de que esté buscando un artículo que incluya la palabra 'que' y la inclusión de esa palabra es el único hecho que tiene en el artículo?
Creo que encontré tu lista ... irónicamente de la página wiki de la última compañía que comencé ...: http://www.sugarcrm.com/wiki/index.php?title=overview_of_full_text_stop_words#default_stop_words_.28for_english.29
2.10.3 Modifying the Default Stoplist The default stoplist is always named CTXSYS.DEFAULT_STOPLIST. You can use the following procedures to modify this stoplist:
• CTX_DDL.ADD_STOPWORD
• CTX_DDL.REMOVE_STOPWORD
• CTX_DDL.ADD_STOPTHEME
• CTX_DDL.ADD_STOPCLASS
When you modify CTXSYS.DEFAULT_STOPLIST with the CTX_DDL package, you must re-create your index for the changes to take effect.
Lista de palabras de parada predeterminada:
a he out up
be more their at
had one will from
it than and is
only when corp not
she also in says
was by ms to
about her over
because most there
has or with
its that are
of which could
some an inc
we can mz
after his s
been mr they
have other would
last the as
on who for
such any into
were co no
all if so
but mrs this
Actualización: un buen documento técnico de Oracle que incluye cómo se puede descargar la búsqueda de texto completo: http://www.oracle.com/technology/products/text/pdf/text_techwp.pdf. Mencionan las palabras de parada y el hecho de que hay una lista predeterminada, pero no mencionan las palabras en sí mismas.
Otros consejos
Respuestas adicionales:
Consulte las listas de palabras de parada Oracle (11G) predeterminadas aquí: http://download.oracle.com/docs/cd/b28359_01/text.111/b28304/astopsup.htm#i634475
La siguiente consulta permite enumerar las palabras de parada de todas las listas (para ejecutarse
CTXSYS
esquema):
SELECT * FROM DR$STOPWORD LEFT JOIN DR$STOPLIST ON DR$STOPWORD.SPW_SPL_ID = DR$STOPLIST.SPL_ID
En los resultados, el SPL_*
Los campos provienen del DR$STOPLIST
tabla del sistema y el SPW_*
campos del DR$STOPWORD
mesa
- De un esquema de usuario, las listas de parada definidas por el usuario y las palabras de parada se pueden recuperar a través de
SELECT * FROM CTX_USER_STOPLISTS;
SELECT * FROM CTX_USER_STOPWORDS;
Palabras clave reservadas:http://www.toadworld.com/knowledge/knowledgexpertfororacle/tabid/648/topicid/sql15/default.aspxHaga clic en "Palabras reservadas de palabras clave" en la izquierda.
"Solo" está en la lista.
No estoy seguro de lo que está sucediendo en su caso, pero no puedo imaginar que Oracle no admitirá la palabra solo en la búsqueda de texto completo. En muchos casos de texto completo, debe buscar una palabra. ¿Podría ser ese el problema que encuentras?