HST Solr Content Beans
The hst-solr-content-beans module contains the interfaces through which to bootstrap a HippoQuery (which is a lightweight wrapper class around org.apache.solr.client.solrj.SolrQuery) to execute the query as a HippoQueryResult, and to be able to iterate through the search hits : The IdentifiableContentBean's.
The HippoQueryResult by default populates search hits to IdentifiableContentBean without using their original content providers (eg JCR Document, external http sources or other CMS's or DMS's): This means by default only the fields that were stored in the Solr index and have a setter method for the field are populated in the IdentifiableContentBean. Thus, only those fields that:
-
Have a setter method with an @IndexField annotated getter
-
Have their field stored in the Solr (Lucene) index : This can be configured in the Solr schema.xml
are available by default in the POJOs returned by the HippoQueryResult.
If the backing providers for different IdendifiableContentBeans need to be attached to re-populate the beans, you need to call one of these:
HippoSolrClient query bootstrapping:
// Uses all default available providers to bind the results HippoQueryResult.setContentBeanBinders() // Uses the binders in the argument to bind the results HippoQueryResult.setContentBeanBinders(List<ContentBeanBinder> binders)