[greenstone_es] Re: operadores de proximidad

  • From: "Diego Spano" <dspano@xxxxxxxxxxxx>
  • To: <greenstone_es@xxxxxxxxxxxxx>
  • Date: Fri, 12 Mar 2010 12:05:36 -0300

Nicolas, existe esa posibilidad. Te detallo los operadores que tenes que
usar:

Si usas MGPP:
**************

& (y) PalabraA & PalabraB: ambas palabras deben estar en el documento o
sección

| (o) PalabraA | PalabraB: una u otra palabra pueden figurar en el documento
o sección

! (no) PalabraA ! PalabraB: la palabraB no puede estar en el documento o
sección>

"..."  Búsqueda de frase exacta

NEARx PalabraA NEAR10 PalabraB: distancia máxima (en este caso 10) que puede
haber entre ambas palabras. Default es 20.

WITHINx PalabraA WITHIN10 PalabraB: igual a NEAR, pero en este caso importa
el orden: palabraB debe aparecer después de PalabraA. Default es 20.

() Permiten agrupar términos de la expresión de búsqueda. (palabraA NEAR5
palabrab) OR palabraC

* Caracter comodin que permite truncar una palabra. Art* encontrará todas
las palabras que comiencen con art sin importar su terminación.


Si estás usando LUCENE (te trascribo parte de un manual que hice):
***********************

Sintaxis del lenguaje de consulta

Las expresiones de búsqueda pueden ser tan sencillas como simplemente
escribir una palabra o bien, estructuras complejas que incluyan paréntesis y
operadores lógicos. Por eso es necesario comprender como es la sintaxis a la
hora de escribir una consulta.

Términos

Cada consulta ejecutada es dividida en términos, de los cuales hay de 2
tipos: términos simples o frases. Los términos simples son palabras tales
como nota, computadora, expediente, etc, etc. Las frases son un grupo de
palabras encerradas entre comillas como por ejemplo ?jefe departamental?. En
las frases, el orden en el que se escriben las palabras es importante, ya
que se buscarán coincidencias exactas.

Los términos podrán combinarse también con operadores lógicos para formar
una consulta más compleja.

Modificadores

El sistema admite la modificación de los términos de la consulta para poder
ampliar las opciones de búsqueda. Dichas modificaciones pueden hacerse a
través de:

Comodines: es posible reemplazar uno o más caracteres de una palabra (no de
una frase) por un comodín genérico. Para realizar un reemplazo de un solo
carácter se utiliza el símbolo ???. Para realizar un reemplazo de varios
caracteres, se utiliza el símbolo ?*?.

El ??? busca términos en los cuales coincida la posición del símbolo con el
carácter reemplazado. Por ejemplo, para buscar casa? o ?caza? (también
quedarían incluidas caja, cama, cala, etc) se escribe la siguiente consulta:
ca?a

También pueden usarse más de un símbolo en el mismo término, como por
ejemplo e?ei?a, lo que dará como resultado ezeiza.

Por el contrario, el comodín ?*? busca cero o más caracteres. La consulta
del término gob* traerá como resultado todas las palabras que empiecen con
los caracteres gob y terminen de cualquier manera: gobierno, gobernantes,
gobernar, etc, etc.

También puede aplicarse en el medio de una palabra: san*o traerá como
resultados a palabras como: santo, santuario, sanitario, santiago, etc.

No pueden utilizarse ni el ??? ni ?*? al comienzo de la palabra.

Búsquedas difusas

El sistema ofrece la posibilidad de hacer búsquedas que permitan encontrar
términos parecidos en cuanto a su deletreo con respecto a la palabra
original escrita en la consigna de búsqueda. Para ello simplemente hay que
agregar el carácter ?~? al final de cada una de las palabras que queremos
ampliar. Este símbolo puede escribirse con la combinación de teclas [Alt] +
126.

Por ejemplo, si se está buscando información sobre el aeropuerto Almonacid
pero no sabemos como se escribe correctamente entonces podemos escribir el
nombre como nos suene y hacer una búsqueda como esta: halmonasid~. Esto
traerá como resultado documentos que incluyan términos como: almonacid,
almogasta, pulmonar, talonario.

También se puede ajustar el grado de similitud que se desea con respecto al
termino original. Ese grado de similitud es un numero entre 0 y 1, siendo 1
la mayor similitud. Si no se especifica ningún número, el valor por defecto
es 0,5. Para indicarlo, simplemente se escribe el número luego del símbolo
?~?:

Si a la misma búsqueda anterior la hago pero con un valor mayor a 0,5 (que
es el valor por defecto) me arrojará otros resultados. Por ejemplo
halmonasid~0.7 solo me encontrará almonacid.

Búsquedas por proximidad

También es posible encontrar palabras que estén separadas por una distancia
específica. Para hacer una búsqueda de este tipo se utiliza el mismo símbolo
que la búsqueda difusa (?~?) pero puesto a continuación de una frase.
Por ejemplo, se puede hacer una búsqueda cómo la siguiente: ?tareas
mantenimiento ezeiza?~20. Esto traerá resultados del tipo:
??Aer. Ezeiza. Solicita al Concesionario un cronograma para la realización
de las tareas de mantenimiento del Cerco perimetral conforme el informe de
inspección??
?? Solicita al concesionario para que en el plazo de 10 días remita un
cronograma para la realización de tareas de mantenimiento del cerco
perimetral, que incluya plazo de ejecución en el Aer. Ezeiza??

Búsquedas por rango

Las búsquedas por rango permiten encontrar documentos cuyos valores en el
campo especificado estén entre los límites inferior y superior del rango
expresado. Los límites de estos rangos pueden ser inclusivos o exclusivos.
Para que sea inclusivo, se debe expresar el rango entre símbolos de corchete
?[? y ?]?. Para que sea exclusivo, se expresa entre llaves ?{? y ?}?. Entre
ambos valores se escribe la palabra ?TO?.

Por ejemplo, una consulta por un rango de números de notas que incluyan los
limites sería:
[0010 TO 0026]: tanto la nota 0010 como la 0026 están incluidas en el
resultado.

También se pueden poner palabras para expresar un rango. Por ejemplo, la
consulta por [blanco TO negro] incluiría todas las palabras entre blanco y
negro teniendo en cuenta un orden lexicográfico.

Operadores lógicos

Los operadores lógicos permiten combinar a los términos de una búsqueda.
Existen 3 operadores disponibles: AND, OR y NOT. Deben escribirse siempre en
mayúsculas.

El operador ?AND? indica que todos los términos de la consulta deben
aparecer en la misma página del documento. Por ejemplo, la consulta bienes
AND servicios traerá documentos que contengan ambas palabras.

El operador ?OR? es el operador por defecto del sistema. Esto quiere decir
que si no se especifica ningún operador entre dos palabras, entonces el
sistema asume un OR. Indica que cualquiera de los términos buscados debe
aparecer en el documento.

NOT
Este operador excluye los documentos que contengan el término precedido por
NOT. No puede usarse cuando la consulta posee un solo término. Por ejemplo,
la consulta NOT ?jefe departamental? no es válida ya que solo incluye un
término o frase.

Agrupamiento
Es posible dividir una consulta en subconsultas más específicas usando
paréntesis ?(? y ?)?. Esto es muy útil cuando se quiere controlar la lógica
de ejecución de una búsqueda. Por ejemplo si quiero encontrar documentos
sobre las licitaciones públicas (pero no las privadas) para el servicio de
limpieza puedo hacer una consulta como la siguiente:

licitación AND (pública NOT privada) AND limpieza

De esta manera descarto cualquier documento que diga licitación privada y
limpieza.

Todas las opciones anteriores pueden combinarse de alguna manera, haciendo
que la consulta sea más específica o más amplia. Por ejemplo, en la
siguiente consulta se agrupan términos, se usan operadores lógicos y además
se hace una búsqueda difusa para el nombre de la empresa.

licitación AND (pública NOT privada) AND clariti~

encontrará todos los documentos que sean de una licitación pública de la
empresa clariti (o algo similar a clariti), y lo que se obtiene es lo
siguiente:

Adjudica la Licitación Pública Nº ? para la prestación del Servicio de
Limpieza del Edificio ?a la empresa CLARYTY SOCIEDAD DE RESPONSABILIDAD
LIMITADA?

Saludos

Diego





-----Mensaje original-----
De: greenstone_es-bounce@xxxxxxxxxxxxx
[mailto:greenstone_es-bounce@xxxxxxxxxxxxx] En nombre de Nicolás Rucks
Enviado el: Viernes, 12 de Marzo de 2010 11:51 a.m.
Para: greenstone_es@xxxxxxxxxxxxx
Asunto: [greenstone_es] operadores de proximidad

Hola gente,

quería saber si Greenstone cuenta con la capacidad de hacer búsqueda con
operadores de proximidad.
Algo tipo NEAR.
Creo que todos entienden de qué hablo, pero aclaro por las dudas:

Si busco en todas partes, o sea en el texto completo
<<ciencias sociales>>
en búsqueda simple y pido que contengan "todas las palabras", 
es el equivalente en la búsqueda avanzada a
<<ciencias & sociales>>

Esto me va a recuperar todos los documentos que contengan las dos palabras
en cualquier parte del documento, podría ser por ejemplo algo sobre ciencias
de la computación, donde haya un pequeño párrafo acerca de las "redes
sociales".
Cuando busco una expresión en el texto completo, es probable que espere
encontrar las palabras cerca una de otra.

Sé que tengo como alternativa poner la expresión entre comillas
<<"ciencias sociales">>

Pero en ese caso voy a perder en el camino documentos sobre 
<<ciencias humanas y sociales>>

Si cuento con un operador tipo NEAR, podría buscar
<<ciencias NEAR2 sociales>>
Y eso me recuperaría los documentos que contengan la palabra ciencias
alejada de no más de 2 palabras de la palabra sociales. Una precisión con un
grado de flexibilidad muy interesante para una búsqueda en texto completo.

Greenstone cuenta con esta capacidad?
Me temo que no por lo que leo en 
http://www.greenstone.org/manuals/gsdl2/es/html/Chapter_using_greenstone_col
lections.htm
Pero tal vez me pierdo alguna novedad

En caso de que no, exisite la posibilidad de que esto se incorpore ? (esta
última pregunta está más dirigida a Diego Spano que está más en contacto con
los creadores de Greenstone).

Saludos!

Nicolas Rucks
Biblioteca Cardini
Fundación Instituto Leloir


Other related posts: