Hibernate Search @IndexedEmbedded not indexing -
@entity @indexed @sequencegenerator(name="subjectseq", sequencename="subjectseq") public class appinfo { @id @generatedvalue(strategy=generationtype.sequence, generator="subjectseq") public integer id; public integer district; @field @boost(2.0f) public string appname; public string thumbnail; public integer statistics; @field public string description; public integer publisher; public date publishat = new date(); @manytoone @indexedembedded @boost(1.5f) @joincolumn(name="type") public apptype type; @manytomany @jointable(name="appinfo_appcatalog", joincolumns={@joincolumn(name="info_id", referencedcolumnname="id")}, inversejoincolumns={@joincolumn(name="catalog_id", referencedcolumnname="id")}) @indexedembedded @boost(1.5f) public list<appcatalog> catalogs; } @entity @sequencegenerator(name="apptypeseq", sequencename="apptypeseq") public class apptype { @id @generatedvalue(strategy=generationtype.sequence, generator="apptypeseq") public integer id; @field public string name; } my searching code is:
querybuilder qb = fulltextentitymanager.getsearchfactory() .buildquerybuilder().forentity( appinfo.class ).get(); org.apache.lucene.search.query query = qb .keyword().fuzzy() .onfields("appname", "description", "type.name", "catalogs.name") .matching(searchstring) .createquery(); the question "searchstring" matching fields "appname" , "description" has results, 1 matching "type.name" or "catalogs.name" doesn't have results
is entity apptype not indexing?
the code looks far ok , since using @indexedembedded apptype should indexed well. why think not? have inspected lucene index luke check content? way can verify type.name in index , if can see tokens indexed. there problem analyzers well. depending on analyzer using searchable tokens in index might not expect.
Comments
Post a Comment