[ 
http://issues.apache.org/jira/browse/JCR-202?page=comments#action_12447800 ] 
            
Jan Kuźniak commented on JCR-202:
---------------------------------

Hello,

I started working on this issue and I have some ideas that I would like to 
discuss here. To cut a long story short, I think of implementing this 
configuration as a set of rules for including/excluding elements. Before adding 
node to index the rules should be checked and indexing engine should apply to 
first rule this node matches.

I think of storing this configuration in XML file, and my first thought is 
workspace.xml and repository.xml (as a template for workspace.xml). XML 
configuration should look like as follows:

    <!-- ==================== <SearchConfiguration> ======================== -->

    <!--
        The SearchConfiguration element allows to include/exclude parts of 
        repository from indexing. It is achieved using rules. First rule is
        the most significant one and the last one (default rule) is the least
        significant one.
        If no SearchConfiguration is specified, the default configuration is 
        assumed:
        <SearchConfiguration>
          <SearchRule action="include" />
        </SearchConfiguration>
    -->
    <!ELEMENT SearchConfiguration (SearchRule+)>

    <!--
        The SearchRule element includes/excludes part of repository from 
        indexing. It has one required attributes - action to be taken when node
        matches this rule - include or exclude this node from indexing. If no
        other attributes are spefified, all nodes will match this rule.
        If nodePath is specified - nodes in given path (and below) will match. 
        Any valid java.util.regex regular expression is allowed.
        If nodeType is specified - nodes of given type will match. Both 
        attributes can be specified at once.
    -->
    <!ELEMENT SearchRule (NodeAttribute*)>
    <!ATTLIST SearchRule
      nodePath (CDATA) #IMPLIED
      nodeType (CDATA) #IMPLIED
      action (include|exclude) #REQUIRED>

    <!--
        The NodeAttribute element allows to include/exclude attributes of node
        from indexing. It has one required attributes - action to be taken when 
        attribute matches this rule - include or exclude this attribute from 
        indexing. If no other attributes are spefified, all attributes will 
        match this rule.
        If attributeName is specified - attributes with given names will match. 
        Any valid java.util.regex regular expression is allowed.
        If attributeType is specified - attributes of given type will match. 
        Both attributes can be specified at once. If no NodeAttribute is 
        specified for search rule, default configuration is assumed:
        <NodeAttribute action="include" />
    -->
    <!ELEMENT NodeAttribute EMPTY>
    <!ATTLIST NodeAttribute
      attributeName (CDATA) #IMPLIED
      attributeType (CDATA) #IMPLIED
      action (include|exclude) #REQUIRED>

    <!-- ==================== </SearchConfiguration> ======================= -->

I am waiting for your comments and suggestions.

Regards,
Jan

> Add configuration options for search manager
> --------------------------------------------
>
>                 Key: JCR-202
>                 URL: http://issues.apache.org/jira/browse/JCR-202
>             Project: Jackrabbit
>          Issue Type: New Feature
>          Components: config
>    Affects Versions: 0.9, 1.0, 1.0.1
>         Environment: all
>            Reporter: Michael Aemisegger
>
> Right now, if the search manager is active, everything is indexed, even the 
> system branch of a workspace with the versions.
> take parameters / conditions into account whether a node should be indexed:
> - path
> - node type
> - property type
> - property name
> see also http://thread.gmane.org/gmane.comp.apache.jackrabbit.devel/3343

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to