Recherche fulltext via CMIS
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2013 01:23 PM
Bonjour,
Je voudrais faire une recherche fulltext via CMIS sur Alfresco 4.0d. J'ai fait des tests aujourd'hui sur une application Java qui utilise opencmis-client en version 0.6.0.
J'ai essayé de faire une requête CMIS avec la clause CONTAINS.
Voici mon code Java :
J'obtiens l'erreur suivante :
J'ai essayé également d'autres requêtes et obtenus différentes erreurs
SELECT cmis
bjectId FROM cmis:document WHERE CONTAINS('test')
SELECT * FROM cmis:document WHERE CONTAINS('TEXT:"test"')
SELECT * FROM cmis:document D WHERE CONTAINS(D, 'test')
…
Quelle syntaxe faut-il utiliser ?
Faut-il utiliser l'extension CMIS d'Alfresco pour utiliser la clause CONTAINS ?
Y a-t-il un paramétrage à faire pour authoriser la recherche fulltext via CMIS ?
Y a-t-il une autre manière de procéder ?
Merci d'avance pour votre aide.
Je voudrais faire une recherche fulltext via CMIS sur Alfresco 4.0d. J'ai fait des tests aujourd'hui sur une application Java qui utilise opencmis-client en version 0.6.0.
J'ai essayé de faire une requête CMIS avec la clause CONTAINS.
Voici mon code Java :
List<Document> documentList = new ArrayList<Document>(); // build queryObjectType type = session.getTypeDefinition(BaseTypeId.CMIS_DOCUMENT.value());PropertyDefinition<?> objectIdPropDef = type.getPropertyDefinitions().get(PropertyIds.OBJECT_ID);String ObjectIdQueryName = objectIdPropDef.getQueryName(); String queryString = MessageFormat.format(QUERY_SEARCH_DOCUMENTS, ObjectIdQueryName, type.getQueryName(), term);System.out.println("Query : "+queryString);// execute queryItemIterable<QueryResult> results = session.query(queryString, false);for (QueryResult qResult : results) { String objectId = qResult.getPropertyValueByQueryName(ObjectIdQueryName); System.out.println("objectId : "+objectId); Document document = (Document)session.getObject(objectId); documentList.add(document);}
J'obtiens l'erreur suivante :
Searching documents containing 'test'…Query : SELECT * FROM cmis:document WHERE CONTAINS('test')Exception in thread "main" org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Parsing exception! at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.parse(AbstractAtomPubService.java:531) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:147) at org.apache.chemistry.opencmis.client.runtime.SessionImpl$3.fetchPage(SessionImpl.java:557) at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(AbstractIterator.java:132) at org.apache.chemistry.opencmis.client.runtime.util.CollectionIterator.hasNext(CollectionIterator.java:48) at fr.virage.service.impl.CMISRemoteServiceImpl.searchDocuments(CMISRemoteServiceImpl.java:110) at fr.virage.Main.searchDocuments(Main.java:52) at fr.virage.Main.main(Main.java:40)Caused by: com.ctc.wstx.exc.WstxParsingException: Unrecognized XML directive; expected CDATA or comment ('<![CDATA[' or '<!–'). at [row,col {unknown-source}]: [89,17] at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:605) at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461) at com.ctc.wstx.sr.BasicStreamReader.nextFromTreeCommentOrCData(BasicStreamReader.java:3285) at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2822) at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.next(AtomPubParser.java:650) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.skip(AtomPubParser.java:633) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parseElement(AtomPubParser.java:380) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parseEntry(AtomPubParser.java:295) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parseFeed(AtomPubParser.java:256) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parse(AtomPubParser.java:120) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.parse(AbstractAtomPubService.java:529) … 7 more
J'ai essayé également d'autres requêtes et obtenus différentes erreurs
SELECT cmis

SELECT * FROM cmis:document WHERE CONTAINS('TEXT:"test"')
SELECT * FROM cmis:document D WHERE CONTAINS(D, 'test')
…
Quelle syntaxe faut-il utiliser ?
Faut-il utiliser l'extension CMIS d'Alfresco pour utiliser la clause CONTAINS ?
Y a-t-il un paramétrage à faire pour authoriser la recherche fulltext via CMIS ?
Y a-t-il une autre manière de procéder ?
Merci d'avance pour votre aide.
Labels:
- Labels:
-
Archive
1 REPLY 1

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-22-2013 08:05 AM
Ce paragraphe vous aide-t-il ?
http://wiki.alfresco.com/wiki/Full_Text_Search_Query_Syntax#Embedded_in_CMIS_contains.28.29
Vous n'avez semble-t-il pas escapé les quotes, à minima.
http://wiki.alfresco.com/wiki/Full_Text_Search_Query_Syntax#Embedded_in_CMIS_contains.28.29
Vous n'avez semble-t-il pas escapé les quotes, à minima.
