[infinispan-issues] [JBoss JIRA] (ISPN-7842) Declarative indexed entity mapping

Sanne Grinovero (JIRA) issues at jboss.org
Tue May 16 07:46:01 EDT 2017


    [ https://issues.jboss.org/browse/ISPN-7842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406982#comment-13406982 ] 

Sanne Grinovero commented on ISPN-7842:
---------------------------------------

I agree on the server vs domain metadata conflict raised by [~anistor].

For embedded mode, personally I hope all of the Cache configurations will be separated from the root CacheManager one day: as discussed in the past the "application level CacheManager" should be able to be automatically started (stopped) from a JVM scoped root via something like the FORK channel, or the equivalent at Infinispan level.

The same should happen for server: separation of configuration and lifecycle of caches needed for a specific application; in the server mode this could be similar to a multitenancy feature, to allow rolling upgrades / data migration of a specific set of caches belonging to one user/application.

My hope is that Cache configuration and its content metadata would still belong together, so making the above design sensible. Pretty much like tables and the table content in a RDBMs, what we're missing is the grouping of several tables in one logical database.

In short I agree this separation should happen but I don't think it's necessarily evil to have this specific metadata tied to a Cache, if we can agree that a "cut" of separation needs to be done somewhere between the Cache definition and say the JGroups configuration (or somewhere in between).

> Declarative indexed entity mapping
> ----------------------------------
>
>                 Key: ISPN-7842
>                 URL: https://issues.jboss.org/browse/ISPN-7842
>             Project: Infinispan
>          Issue Type: Enhancement
>          Components: Configuration, Embedded Querying
>            Reporter: Tristan Tarrant
>            Assignee: Jakub Senko
>            Priority: Minor
>
> We need a way to list annotation-less indexed entities in the infinispan XML.
> The 
> {noformat}
> <indexed-entities>
> {noformat}
>  element schema will need to be extended as follows:
> {code:xml}
>             <indexed-entities>
>                <!-- annotated entity -->
>                <indexed-entity>org.infinispan.query.queries.faceting.Car</indexed-entity>
>                <!-- non-annotated entity -->
>                <indexed-entity-mapping>
>                   <!-- the FQN of the class to index -->
>                   <class>my.domain.model.Author</class>
>                   <!-- optional -->
>                   <spatial name="place" mode="HASH"/>
>                   <!-- list of indexed properties -->
>                   <property name="name" type="method">
>                      <field store="true" index="true" analyze="true" norms="true" term-vector="yes" boost="0.5"/>
>                   </property>
>                   <property name="title" type="method">
>                      <field store="true" index="true" analyze="true" norms="true" term-vector="yes" boost="0.5" analyzer="titleanalyzer"/>
>                   </property>
>                   <property type="method" name="birthdate">
>                      <field store="true" index="true" analyze="true" norms="true" term-vector="yes" boost="0.5"/>
>                      <date-bridge resolution="DAY"/>
>                   </property>
>                   
>                   <property type="method" name="city">
>                      <spatial name="name" store="true" boost="0.5" spatial-mode="RANGE" />
>                   </property>
>                </indexed-entity-mapping>
>             </indexed-entities>
>             
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list