cancel
Showing results for 
Search instead for 
Did you mean: 

Búsqueda de txt con Lucene

spilby
Confirmed Champ
Confirmed Champ
Buenas,

he implementado mediante Java y la api que proporciona Alfresco unos métodos para la subida de ficheros, entre ellos, archivos txt y pdf.

Pero a la hora de buscar una cadena de texto entre los ficheros subidos, ya sea buscando mediante el explorador de nodos (TEXT:\"cadena"), o usando la lupa que aparece en el propio cliente web de Alfresco, no me encuentra los txt. Con los pdf no hay problema, busco el texto, y me lo encuentra. Pero con los txt no hay manera, a pesar de utilizar exactamente el mismo método de subida. Uno como application/pdf y el otro como plain/text.

¿A alguien se le ocurre qué puede estar pasando? ¿Hay algo a considerar en la subida de txt que no sea necesario con los pdf? ¿Funciona la búsqueda de forma distinta?

Merci!
15 REPLIES 15

fegor
Star Collaborator
Star Collaborator
Tengo unas dudas con respecto a todo esto:

¿Por qué usas un metadato llamado "doc_contentType"?, no veo ese metadato en contentModel.xml ni en applicationModel.xml

En contentModel.xml existe un metadato "locale" del aspecto "localizable" pero está "deprecated", o sea, obsoleto. En concreto es:


    <aspect name="cm:localizable">
         <title>Localizable</title>
         <properties>
            <property name="cm:locale">
               <title>Locale</title>
               <type>d:category</type>
            </property>
         </properties>
      </aspect>

Asi mismo existe un tipo de datos "locale" igual que lo es "content".

Un saludo.

spilby
Confirmed Champ
Confirmed Champ
Respecto al docContentType, al principio no lo mandaba, pero entonces Alfresco parecía que no reconocía que el fichero era un txt, o un pdf, a pesar de tenerlo en el mimetype. La búsqueda de pdf's no me funcionaba, hasta que le indiqué a través de ese parámetro que era un application/pdf.

No he entendido muy bien lo que me comentas aquí. "Asi mismo existe un tipo de datos "locale" igual que lo es "content"." Yo para el content utilizo la constante de alfresco Constants.PROP_CONTENT, pero para el locale no he encontrado nada. Quieres decir, entonces, que haciendo un Utils.createNamedValue("{http://www.alfresco.org/model/content/1.0}locale','es_ES_") Alfresco me pillaría el idioma?

fegor
Star Collaborator
Star Collaborator
No creo que eso te funcione, ya que es una cadena formada por varios valores lo que monta el atributo "content".

En todo caso podrías usar LocaleConfiguration que si existe, de la forma:


LocaleConfiguration locale = new LocaleConfiguration();
locale.setLocale("ES_es");

Un saludo.

spilby
Confirmed Champ
Confirmed Champ
Oks, probaré a ver si puedo hacer algo así de alguna forma. A ver si en el código que uso se le puede setear el locale. Cuando lo haga os cuento a ver…

spilby
Confirmed Champ
Confirmed Champ
Bueno, después de varias pruebas, he puesto el locale.setLocale a español (y por probar, también a inglés) pero nada, que no se soluciona el problema. Me encuentra las cadenas de texto cuando quiere, a veces sí y a veces no  Smiley Surprised ¿A vosotros os ha pasado algo así alguna vez?

fegor
Star Collaborator
Star Collaborator
¿Unas veces si y otras no?, debería hacer una tabla de pruebas, es decir, subir con un "locale" distinto el mismo fichero y aplicar una serie de acciones de búsqueda sobre él poniendo los resultados. Si quieres luego pon la tabla de testeo por aquí y vamos viendo que puede pasar.

Un saludo.