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

Yoann Rodière (Jira) issues at jboss.org
Mon Jun 29 03:12:07 EDT 2020


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

Yoann Rodière commented on ISPN-7842:
-------------------------------------

Just a heads-up: the programmatic mapping API is different in Hibernate Search 6 is different, down to some concepts that are quite different (e.g. there's not just one type of field but multiple types: FullTextField, KeywordField, ScaledNumberField; FieldBridge was split into multiple different classes; the concept of Binder was introduced, etc.).

If we introduce an XML schema for declarative mapping, we might want to model it after the Search 6 concepts rather than the Search 5 concepts currently exposed in Infinispan. Or better, model it after Infinispan-specific concepts that are a subset of Search 6 concepts (e.g. annotations in infinispan packages); but those don't exist yet.

> Declarative indexed entity mapping
> ----------------------------------
>
>                 Key: ISPN-7842
>                 URL: https://issues.redhat.com/browse/ISPN-7842
>             Project: Infinispan
>          Issue Type: Enhancement
>          Components: Configuration, Embedded Querying
>            Reporter: Tristan Tarrant
>            Assignee: Tristan Tarrant
>            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.13.8#713008)



More information about the infinispan-issues mailing list