SlideShare a Scribd company logo
1 of 151
Download to read offline
What is this
 flower ?




  Search Tutorial
This
represents
 Alfresco !
An ECM Open
Source Solution
Where is the Problem ?
Curious people who want to
  understand Alfresco…
With lots of questions…
    (To express…)
A possible solution…
Simply a presenter with
presentations about Alfresco
with a few answers…
      (To verify)
Let’s do it !
But before starting,
here is a reminder !
The principle is…
Everything is a NODE!




             I am a beautiful
                  node!
The rule is…
 Alfresco provides
services to manage
       Nodes


            Even I have a
             manager…
Now let’s go!
As far as I understand, different
language can be possibly used
        to do searches…
Indeed!
Let’s have a look…
Lucene

  XPath
Lucene first!
Lucene ?
  • Apache Lucene is a high-
    performance, full-featured text
    search engine library written
    entirely in Java.

  • Although Lucene provides the
    ability to create your own queries
    through its API, it also provides a
    rich query language through the
    Query Parser, a lexer which
    interprets a string into a Lucene
    Query using JavaCC.

  • Source: Lucene.org
And with Alfresco…
 How does it work?
Put in a nutshell…
1. Collect
                  Type


                          Aspect
       Properties


                         Key words

             ID
2. Preserve

          ID




               As
                 pec
        Type




                     t
       Proper
             ties



      Key w ords
3. Use

                      es
            P roperti
Key words
             Aspect
To push further…
When a node is created,
the following actions take place
             • Indexing of the whole
               set of the items
               properties



             • Plain text Indexing of
               the related content
When a node is created:
        • The plain text indexing
          takes place if the
          content format is:
          – Office (Open ou Microsoft)
          – XML/HTML
          – PDF
          – Emails
          – Texte
To check it…
Have a look into the data model!




         File : contentModel.xml
What does the
                  « tokenize »
                principle mean?




File : contentModel.xml
Tokenising is to split
 (or not) a word into
  one or many key
       words.
Example



   Here is a PowerPoint presentation
regarding Alfresco and its search feature.
Without
           « Tokenisation »…

       t
  t en
C onHere
       is a PowerPoint presentation
  regarding Alfresco and its search feature.
A copy of the whole
         sentence is made in
              the index
        t
   t en
C onHereis a PowerPoint presentation
   regarding Alfresco and its search feature.



  D EX
IN    Here is a PowerPoint presentation
   regarding Alfresco and its search feature.
The search would
      then be done on the
        whole sentence!
       u
  t en
C onHere
       is a PowerPoint presentation
  regarding Alfresco and its search feature.



  D EX
IN Hereis a PowerPoint presentation
  regarding Alfresco and its search feature.
However if the
          sentence is split into
              key words…
            u
       t en
C on Here is a PowerPoint presentation
  regarding Alfresco and its search feature.
The serach can be
                done on those key
                   words only!
            u
       t en
C on Here is a PowerPoint presentation
  regarding Alfresco and its search feature.



                  D EX
                IN Presentation,PowerPoint,
                       Alfresco, search
So don’t forget to
 check your data
     model !
OK…
Demo time!
A bi t of
theory
Lucene in Alfresco enables
       you to query on
• The NodeRef (ID)
• The Type
                     Of a NODE!
• The Properties
• The Aspects        Do you work for the
                      secret services ?

• The key Words
        (Content)
The
Querie
       s
To query on the Noderef


  ID:quot; <Mon NodeRef> quot;

               What is the interest of
              searching for a node we
           already know the name of???
To query on the Type


 TYPE:quot; <TypeQName> quot;

Hopefully you remember
 what’s the QName…

                         Otherwise click here
To query on a property


@<QNamePropriété>:quot; Value quot;

  Why is it different than the
      other queries??

                                 Why is it not upper
                                       case ?
To query on an Aspect


ASPECT:quot; <AspectQName> quot;


     AAhh! That’s better!
To query on a key word
included in the content of
        the node
           TEXT:<value>

 Okey… Understood!


                     I am getting bored…
Contex
         t
Here is our battle field
Practic
          e
Note
Lucene and Alfresco!
According to the Alfresco version you
    are working with, you can get
   completely different results than
       those presented in here.

This is the magic of the search feature!
How to make a simple
 query with Lucene
        Connect as « admin » to
         Alfresco

        Click on

        Choose the node browser
How to make a simple
 query with Lucene
        Choose the store :
          workspace://SpacesStore



        In the drop down list, choose
          Lucene
Ready ?
I want the
« Folder Test »
I want the
« Folder Test »!!!!!
 @cm:name:’’Folder Test’’
Result
Reminder !
To identify and make a node
unique in a store, we use…




            A
           UUID
The concatenation of the
protocole, the name of the store
   and the UUID of a node is




               A
            NodeRef
In our case




NodeRef    UUID
I want the
« Foder Test » with
      the UUID
      ID:quot;workspace://SpacesStore/
       b7ecc8b1-5edb-11dd-
       afdd-79a008cbb404quot;
What about a search with
  several criterias ?
You can add Operators !
Operators
+
To add a validated criteria

-
To add a non validated criteria

AND
To add a criteria

OR
To add a choice between several
  criterias

NOT
To exclude a criteria
I want all the spaces with
   the name « space »
 TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;



                     TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot;




               +TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;
Result
Let’s add a category
     to a space

 Contex
       t
I want all folders with the name
« space » which has a category
    TYPE:quot;cm:folderquot;
           AND @cm:name:quot;Spacequot;
                   AND ASPECT:quot;cm:generalclassifiablequot;
I want all spaces with the name
       « space » which
  DOES NOT have a category
   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;Spacequot;
              AND NOT ASPECT:quot;cm:generalclassifiablequot;




                         TYPE:quot;cm:folderquot;
                         +@cm:name:quot;Spacequot;
                         -ASPECT:quot;cm:generalclassifiablequot;
Result
Let’s have a look into the
      property types
Note

      Work Zone!


     This section is
experimental and results
 vary a lot according to
        the tests!
To search for text properties, you
   can use specific operators
Special Operators
    ?
    Can replace one character

    *
    Can replace one or many
      characters
I want all spaces with the name
     starting with « spa »

   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;Spa*quot;




                        TYPE:quot;cm:folderquot;
                        +@cm:name:quot;Spa*quot;
I want all spaces with the name
      ending with « spa »

   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;*acequot;




                        TYPE:quot;cm:folderquot;
                        +@cm:name:quot;*acequot;
Note

  End of work zone!


  This section was
   experimental!
For more details…
 Lucene WebSite
• http://lucene.apache.org/
• http://lucene.apache.org/java/docs/queryparsersyntax.html

Alfresco Wiki
• http://wiki.alfresco.com/wiki/Search#Lucene
• http://wiki.alfresco.com/wiki/Lucene
• http://wiki.alfresco.com/wiki/Lucene_Extensions_and_Issues
Now XPath!
XPath ?
 • XPath is a language for
   addressing parts of an XML
   document, designed to be
   used by both XSLT and
   XPointer.




 • Source w3c.org
But we are dealing with nodes…
        Not with xml…
Yes indeed but…
A Principle…
              A Node can
              be identified
               as an xml
What a face I have
                     Mirror
     now…

                     XML
The proof in Alfresco…
ACP



WebApp
ACP


 Explorer
So XPath enables us to browse
         the nodes…
Indeed !
Demo...
A bit
of theo
         ry
XPath in Alfresco enables to
           query on…
• The Type
• The Properties
                     Of a Node!
• The Aspects
• The Associations      Why me…
Axis
In the Node family, I
want to find myself !




         self
Then my
 Father!




           parent
Then my
children!




        Child
Then my older
        brothers




preceding-sibling
Then my younger
      sisters




following-sibling
Now let’s explore my
   family further
I want to know my
  entire lineage!




             descendant
I want to know my
    ancestors




              ancestor
I want to know all the
oldest nodes in my family




                  preceding
I want all the youngest
         nodes




                 following
Isn’t my family
  beautiful?
Unfortunately, all my
     family are not visible in
           Alfresco…




    following         following-sibling

preceding-sibling         preceding
The qu
       e   ries
To query on an axis


      Axe::*

         I want to know all the nodes
                 on this axis!
To query on a property


Axe::*[@<QName>:’<Value>’]


              It remind me of Lucene…
To query on an aspect


Axe::*[hasAspect(’<QNameAspect>’)]


                  The aspect doesn’t make
                         the node!
To query on a type


Axe::*[subtypeOf(’<QNameType>’)]


                 Beware! This means the
                 current and child types!!!
To query on the entire set
of properties and content…

  Axe::*[contains(’<Value>’)]


                Beware! This means the
                current and child types!!!
Contex
         t
Here is our battle field
Practic
          e
How to make a simple
 query with Lucene
        Connect as « admin » to
         Alfresco

        Click on

        Choose the node browser
How to make a simple
 query with Lucene
        Choose the store :
          workspace://SpacesStore



        In the drop down list, choose
          Lucene
Why don’t we use XPath ??
It’s exactly the same!
     Except that…
XPath :
                 From the root of
                    the store
SelectNodes :
Related to the
current node
We want to start from a
   specific folder!
Ready ?
I want the current node

             self::*
Result
I want the children of the
      current node

            descendant::*
I want the parent of the
     current node

             parent::*
I want the child which has a
description « Space 1.1 Description »

    descendant::*[@cm:description
       ='Space 1.1 Description']
Also note that operators are also
      available in XPath…
I want the child which has a description
« Space 1.1 Description » and that is of type
                    folder

    descendant::*[@cm:description
     ='Space 1.1 Description' and
       subtypeOf('cm:folder')]
I want the child which has its aspect related to
        categories and is of type folder

      descendant::*[hasAspect('cm:genera
              lclassifiable') and
            subtypeOf('cm:folder')]
To go further…
• Wikipedia [FR]

• W3Schools[ENG]

• Spécifications W3C : Xpath 1.0[ENG]
• Spécifications W3C : XPath 2.0[ENG]

• Developpez.com (A voir!)
I now have many nodes! But where
 is Wally/Waldo…? Well actually…
     where is the good node?
If you are looking for a node,
      use the services…
First, Think about
Alfreso Service Registry !
And then call …
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
And then call …
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
Or…
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
Voilà!
Enough for today!
Now your turn!
Questions ???
Another time…
Next…
What if I want to share my
          nodes ?
You would have to
use the protocoles…
To discover…
To go further on…
And to reach our
   goals…
Choose ECM
Open Source
Alfresco in few
    points…
      By JM.PASCAL

    www.opensourceecm.fr
              &
   www.open-source-ecm.com

More Related Content

What's hot

Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Ashitaba YOSHIOKA
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoRichard McKnight
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elkRushika Shah
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
 
Online index rebuild automation
Online index rebuild automationOnline index rebuild automation
Online index rebuild automationCarlos Sierra
 
Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編MoritakaSoma
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperToni de la Fuente
 
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するAlfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するTasuku Otani
 
Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfrescoUE
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the TradeLuis Colorado
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni de la Fuente
 
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたTasuku Otani
 
Alfresco Security Best Practices Guide
Alfresco Security Best Practices GuideAlfresco Security Best Practices Guide
Alfresco Security Best Practices GuideToni de la Fuente
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMAlfresco Software
 
Solving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowSolving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowWes McKinney
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들Woong Seok Kang
 

What's hot (20)

Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elk
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Online index rebuild automation
Online index rebuild automationOnline index rebuild automation
Online index rebuild automation
 
Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White Paper
 
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するAlfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
 
Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin Ideas
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the Trade
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
 
Alfresco Security Best Practices Guide
Alfresco Security Best Practices GuideAlfresco Security Best Practices Guide
Alfresco Security Best Practices Guide
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
Solving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowSolving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache Arrow
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 

Viewers also liked

Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco Software
 
Alfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialAlfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialPASCAL Jean Marie
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for DevelopersJeff Potts
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST APIJ V
 
Alfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialAlfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialPASCAL Jean Marie
 
JM.PASCAL - This is my way...
JM.PASCAL - This is my way...JM.PASCAL - This is my way...
JM.PASCAL - This is my way...PASCAL Jean Marie
 
Alfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodeAlfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodePASCAL Jean Marie
 
Alfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkAlfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkPASCAL Jean Marie
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with AlfrescoWildan Maulana
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 
Alfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterpriseAlfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterprisePASCAL Jean Marie
 
Alfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialAlfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialPASCAL Jean Marie
 
Alfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialAlfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialPASCAL Jean Marie
 
DRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationDRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationPASCAL Jean Marie
 
An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)PASCAL Jean Marie
 
Alfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco Software
 

Viewers also liked (20)

Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
 
Alfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialAlfresco in few points - Node Tutorial
Alfresco in few points - Node Tutorial
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for Developers
 
Alfresco in an hour
Alfresco in an hourAlfresco in an hour
Alfresco in an hour
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
 
Alfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialAlfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService Tutorial
 
JM.PASCAL - This is my way...
JM.PASCAL - This is my way...JM.PASCAL - This is my way...
JM.PASCAL - This is my way...
 
Alfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodeAlfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a Node
 
Alfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkAlfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 Talk
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Spring In Alfresco Ecm
Spring In Alfresco EcmSpring In Alfresco Ecm
Spring In Alfresco Ecm
 
Alfresco 5.0 features
Alfresco 5.0 featuresAlfresco 5.0 features
Alfresco 5.0 features
 
Alfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterpriseAlfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 Enterprise
 
Alfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialAlfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services Tutorial
 
Alfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialAlfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node Tutorial
 
DRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationDRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & Utilisation
 
ECM - Définition Simple
ECM - Définition SimpleECM - Définition Simple
ECM - Définition Simple
 
An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)
 
Alfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco's Guide to Anger Management
Alfresco's Guide to Anger Management
 

Similar to Alfresco in few points - Search Tutorial

Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptMatt Patterson
 
Developing OpenResty Framework
Developing OpenResty FrameworkDeveloping OpenResty Framework
Developing OpenResty FrameworkOpenRestyCon
 
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...phpbarcelona
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client DevelopmentTamir Khason
 
HFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyHFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyCharles Beyer
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsqlwebanddb
 
Silme & compare-locales
Silme & compare-localesSilme & compare-locales
Silme & compare-localesAdrianer
 
How Xslate Works
How Xslate WorksHow Xslate Works
How Xslate WorksGoro Fuji
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noahlusis
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBookNet Canada
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholisticoscon2007
 

Similar to Alfresco in few points - Search Tutorial (20)

Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without Applescript
 
Developing OpenResty Framework
Developing OpenResty FrameworkDeveloping OpenResty Framework
Developing OpenResty Framework
 
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client Development
 
HFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyHFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warranty
 
Api Design
Api DesignApi Design
Api Design
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsql
 
Lucene And Solr Intro
Lucene And Solr IntroLucene And Solr Intro
Lucene And Solr Intro
 
Sphinx on Rails
Sphinx on RailsSphinx on Rails
Sphinx on Rails
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languages
 
Integration Testing in Python
Integration Testing in PythonIntegration Testing in Python
Integration Testing in Python
 
Goodparts
GoodpartsGoodparts
Goodparts
 
Simple perl scripts
Simple perl scriptsSimple perl scripts
Simple perl scripts
 
Silme & compare-locales
Silme & compare-localesSilme & compare-locales
Silme & compare-locales
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
How Xslate Works
How Xslate WorksHow Xslate Works
How Xslate Works
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noah
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demo
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholistic
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
 

More from PASCAL Jean Marie

DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
An Alfresco Fan to John Newton
An Alfresco Fan to John NewtonAn Alfresco Fan to John Newton
An Alfresco Fan to John NewtonPASCAL Jean Marie
 
Smith & CMIS : a similar story
Smith & CMIS : a similar storySmith & CMIS : a similar story
Smith & CMIS : a similar storyPASCAL Jean Marie
 
Smith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communeSmith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communePASCAL Jean Marie
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialPASCAL Jean Marie
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationPASCAL Jean Marie
 
Nuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinueNuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinuePASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipsePASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipsePASCAL Jean Marie
 
Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation PASCAL Jean Marie
 
Nuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipseNuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipsePASCAL Jean Marie
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationPASCAL Jean Marie
 
Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation SimplePASCAL Jean Marie
 
Nuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourceNuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourcePASCAL Jean Marie
 

More from PASCAL Jean Marie (18)

DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
ECM - Simple Definition ENG
ECM - Simple Definition ENGECM - Simple Definition ENG
ECM - Simple Definition ENG
 
An Alfresco Fan to John Newton
An Alfresco Fan to John NewtonAn Alfresco Fan to John Newton
An Alfresco Fan to John Newton
 
Smith & CMIS : a similar story
Smith & CMIS : a similar storySmith & CMIS : a similar story
Smith & CMIS : a similar story
 
Smith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communeSmith & Cmis : Une histoire commune
Smith & Cmis : Une histoire commune
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche Tutorial
 
Open Source Ecm
Open Source Ecm Open Source Ecm
Open Source Ecm
 
Ecm Open Source
Ecm Open SourceEcm Open Source
Ecm Open Source
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous Integration
 
Nuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinueNuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration Continue
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
 
Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation
 
Nuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipseNuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec Eclipse
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic Installation
 
Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation Simple
 
Nuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourceNuxeo5 - Installation Code Source
Nuxeo5 - Installation Code Source
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Alfresco in few points - Search Tutorial

  • 1. What is this flower ? Search Tutorial
  • 4. Where is the Problem ?
  • 5. Curious people who want to understand Alfresco…
  • 6. With lots of questions… (To express…)
  • 8. Simply a presenter with presentations about Alfresco
  • 9. with a few answers… (To verify)
  • 11. But before starting, here is a reminder !
  • 12. The principle is… Everything is a NODE! I am a beautiful node!
  • 13. The rule is… Alfresco provides services to manage Nodes Even I have a manager…
  • 15. As far as I understand, different language can be possibly used to do searches…
  • 19. Lucene ? • Apache Lucene is a high- performance, full-featured text search engine library written entirely in Java. • Although Lucene provides the ability to create your own queries through its API, it also provides a rich query language through the Query Parser, a lexer which interprets a string into a Lucene Query using JavaCC. • Source: Lucene.org
  • 20. And with Alfresco… How does it work?
  • 21. Put in a nutshell…
  • 22. 1. Collect Type Aspect Properties Key words ID
  • 23. 2. Preserve ID As pec Type t Proper ties Key w ords
  • 24. 3. Use es P roperti Key words Aspect
  • 26. When a node is created, the following actions take place • Indexing of the whole set of the items properties • Plain text Indexing of the related content
  • 27. When a node is created: • The plain text indexing takes place if the content format is: – Office (Open ou Microsoft) – XML/HTML – PDF – Emails – Texte
  • 29. Have a look into the data model! File : contentModel.xml
  • 30. What does the « tokenize » principle mean? File : contentModel.xml
  • 31. Tokenising is to split (or not) a word into one or many key words.
  • 32. Example Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 33. Without « Tokenisation »… t t en C onHere is a PowerPoint presentation regarding Alfresco and its search feature.
  • 34. A copy of the whole sentence is made in the index t t en C onHereis a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 35. The search would then be done on the whole sentence! u t en C onHere is a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Hereis a PowerPoint presentation regarding Alfresco and its search feature.
  • 36. However if the sentence is split into key words… u t en C on Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 37. The serach can be done on those key words only! u t en C on Here is a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Presentation,PowerPoint, Alfresco, search
  • 38. So don’t forget to check your data model !
  • 39.
  • 41. A bi t of theory
  • 42. Lucene in Alfresco enables you to query on • The NodeRef (ID) • The Type Of a NODE! • The Properties • The Aspects Do you work for the secret services ? • The key Words (Content)
  • 44. To query on the Noderef ID:quot; <Mon NodeRef> quot; What is the interest of searching for a node we already know the name of???
  • 45. To query on the Type TYPE:quot; <TypeQName> quot; Hopefully you remember what’s the QName… Otherwise click here
  • 46. To query on a property @<QNamePropriété>:quot; Value quot; Why is it different than the other queries?? Why is it not upper case ?
  • 47. To query on an Aspect ASPECT:quot; <AspectQName> quot; AAhh! That’s better!
  • 48. To query on a key word included in the content of the node TEXT:<value> Okey… Understood! I am getting bored…
  • 49. Contex t
  • 50. Here is our battle field
  • 51. Practic e
  • 52. Note Lucene and Alfresco! According to the Alfresco version you are working with, you can get completely different results than those presented in here. This is the magic of the search feature!
  • 53. How to make a simple query with Lucene Connect as « admin » to Alfresco Click on Choose the node browser
  • 54. How to make a simple query with Lucene Choose the store : workspace://SpacesStore In the drop down list, choose Lucene
  • 57.
  • 58. I want the « Folder Test »!!!!! @cm:name:’’Folder Test’’
  • 61. To identify and make a node unique in a store, we use… A UUID
  • 62. The concatenation of the protocole, the name of the store and the UUID of a node is A NodeRef
  • 64. I want the « Foder Test » with the UUID ID:quot;workspace://SpacesStore/ b7ecc8b1-5edb-11dd- afdd-79a008cbb404quot;
  • 65.
  • 66. What about a search with several criterias ?
  • 67. You can add Operators !
  • 68. Operators + To add a validated criteria - To add a non validated criteria AND To add a criteria OR To add a choice between several criterias NOT To exclude a criteria
  • 69. I want all the spaces with the name « space » TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot; +TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;
  • 71. Let’s add a category to a space Contex t
  • 72. I want all folders with the name « space » which has a category TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; AND ASPECT:quot;cm:generalclassifiablequot;
  • 73. I want all spaces with the name « space » which DOES NOT have a category TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; AND NOT ASPECT:quot;cm:generalclassifiablequot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot; -ASPECT:quot;cm:generalclassifiablequot;
  • 75. Let’s have a look into the property types
  • 76. Note Work Zone! This section is experimental and results vary a lot according to the tests!
  • 77. To search for text properties, you can use specific operators
  • 78. Special Operators ? Can replace one character * Can replace one or many characters
  • 79. I want all spaces with the name starting with « spa » TYPE:quot;cm:folderquot; AND @cm:name:quot;Spa*quot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spa*quot;
  • 80. I want all spaces with the name ending with « spa » TYPE:quot;cm:folderquot; AND @cm:name:quot;*acequot; TYPE:quot;cm:folderquot; +@cm:name:quot;*acequot;
  • 81. Note End of work zone! This section was experimental!
  • 82. For more details… Lucene WebSite • http://lucene.apache.org/ • http://lucene.apache.org/java/docs/queryparsersyntax.html Alfresco Wiki • http://wiki.alfresco.com/wiki/Search#Lucene • http://wiki.alfresco.com/wiki/Lucene • http://wiki.alfresco.com/wiki/Lucene_Extensions_and_Issues
  • 84. XPath ? • XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. • Source w3c.org
  • 85. But we are dealing with nodes… Not with xml…
  • 87. A Principle… A Node can be identified as an xml What a face I have Mirror now… XML
  • 88. The proof in Alfresco…
  • 91. So XPath enables us to browse the nodes…
  • 94. XPath in Alfresco enables to query on… • The Type • The Properties Of a Node! • The Aspects • The Associations Why me…
  • 95. Axis
  • 96. In the Node family, I want to find myself ! self
  • 97. Then my Father! parent
  • 99. Then my older brothers preceding-sibling
  • 100. Then my younger sisters following-sibling
  • 101. Now let’s explore my family further
  • 102. I want to know my entire lineage! descendant
  • 103. I want to know my ancestors ancestor
  • 104. I want to know all the oldest nodes in my family preceding
  • 105. I want all the youngest nodes following
  • 106. Isn’t my family beautiful?
  • 107. Unfortunately, all my family are not visible in Alfresco… following following-sibling preceding-sibling preceding
  • 108. The qu e ries
  • 109. To query on an axis Axe::* I want to know all the nodes on this axis!
  • 110. To query on a property Axe::*[@<QName>:’<Value>’] It remind me of Lucene…
  • 111. To query on an aspect Axe::*[hasAspect(’<QNameAspect>’)] The aspect doesn’t make the node!
  • 112. To query on a type Axe::*[subtypeOf(’<QNameType>’)] Beware! This means the current and child types!!!
  • 113. To query on the entire set of properties and content… Axe::*[contains(’<Value>’)] Beware! This means the current and child types!!!
  • 114. Contex t
  • 115. Here is our battle field
  • 116. Practic e
  • 117. How to make a simple query with Lucene Connect as « admin » to Alfresco Click on Choose the node browser
  • 118. How to make a simple query with Lucene Choose the store : workspace://SpacesStore In the drop down list, choose Lucene
  • 119. Why don’t we use XPath ??
  • 120. It’s exactly the same! Except that…
  • 121. XPath : From the root of the store SelectNodes : Related to the current node
  • 122. We want to start from a specific folder!
  • 124. I want the current node self::*
  • 125. Result
  • 126. I want the children of the current node descendant::*
  • 127. I want the parent of the current node parent::*
  • 128. I want the child which has a description « Space 1.1 Description » descendant::*[@cm:description ='Space 1.1 Description']
  • 129. Also note that operators are also available in XPath…
  • 130. I want the child which has a description « Space 1.1 Description » and that is of type folder descendant::*[@cm:description ='Space 1.1 Description' and subtypeOf('cm:folder')]
  • 131. I want the child which has its aspect related to categories and is of type folder descendant::*[hasAspect('cm:genera lclassifiable') and subtypeOf('cm:folder')]
  • 132. To go further… • Wikipedia [FR] • W3Schools[ENG] • Spécifications W3C : Xpath 1.0[ENG] • Spécifications W3C : XPath 2.0[ENG] • Developpez.com (A voir!)
  • 133. I now have many nodes! But where is Wally/Waldo…? Well actually… where is the good node?
  • 134. If you are looking for a node, use the services…
  • 135. First, Think about Alfreso Service Registry !
  • 136. And then call … AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 137. And then call … AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 138. Or… AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 139.
  • 145. What if I want to share my nodes ?
  • 146. You would have to use the protocoles…
  • 148. To go further on…
  • 149. And to reach our goals…
  • 151. Alfresco in few points… By JM.PASCAL www.opensourceecm.fr & www.open-source-ecm.com