Class FlatFormatSerializer

  • All Implemented Interfaces:
    org.apache.geode.cache.Declarable, LuceneSerializer

    public class FlatFormatSerializer
    extends java.lang.Object
    implements LuceneSerializer
    A built-in LuceneSerializer to parse user's nested object into a flat format, i.e. a single document. Each nested object will become a set of fields, with field name in format of contacts.name, contacts.homepage.title. Here is a example of usage: User needs to explicitly setLuceneSerializer with an instance of this class, and specify nested objects' indexed fields in following format: luceneService.createIndexFactory().setLuceneSerializer(new FlatFormatSerializer()) .addField("name").addField("contacts.name").addField("contacts.email", new KeywordAnalyzer()) .addField("contacts.address").addField("contacts.homepage.content") .create(INDEX_NAME, REGION_NAME); Region region = createRegion(REGION_NAME, RegionShortcut.PARTITION); When querying, use the same dot-separated index field name, such as contacts.homepage.content LuceneQuery query = luceneService.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME, "contacts.homepage.content:Hello*", "name"); results = query.findPages();
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Collection<org.apache.lucene.document.Document> toDocuments​(LuceneIndex index, java.lang.Object value)
      Recursively serialize each indexed field's value into a field of lucene document.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.geode.cache.Declarable

        init, initialize
    • Constructor Detail

      • FlatFormatSerializer

        public FlatFormatSerializer()
    • Method Detail

      • toDocuments

        public java.util.Collection<org.apache.lucene.document.Document> toDocuments​(LuceneIndex index,
                                                                                     java.lang.Object value)
        Recursively serialize each indexed field's value into a field of lucene document. The field name will be in the same format as its indexed, such as contacts.homepage.content
        Specified by:
        toDocuments in interface LuceneSerializer
        Parameters:
        index - lucene index
        value - user object to be serialized into index
        Returns:
        a set of documents