[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