import java.util.List;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import org.hibernate.search.annotations.SortableField;
import org.hibernate.search.annotations.Store;
import org.hibernate.search.cfg.Environment;
import org.hibernate.search.elasticsearch.cfg.ElasticsearchEnvironment;
import org.hibernate.search.spi.SearchIntegratorBuilder;
import org.hibernate.search.testsupport.TestForIssue;
import org.hibernate.search.testsupport.setup.SearchConfigurationForTest;
import org.junit.Test;
public class ReproducerIT {
@Test
@TestForIssue(jiraKey = "HSEARCH-2433")
public void testBuildSearchIntegrator() throws Exception {
SearchConfigurationForTest cfg = new SearchConfigurationForTest()
.addProperty( "hibernate.search.default." + Environment.INDEX_MANAGER_IMPL_NAME, "elasticsearch" )
.addProperty( "hibernate.search.default." + ElasticsearchEnvironment.REFRESH_AFTER_WRITE, "true" )
.addClass( Parent.class )
.addClass( Child.class )
.setIdProvidedImplicit( true );
new SearchIntegratorBuilder().configuration( cfg ).buildSearchIntegrator();
}
}
@Indexed
class Parent {
@Field(store = Store.YES, analyze = Analyze.NO)
@SortableField
private int id;
@IndexedEmbedded(targetElement = Child.class)
private List<Child> children;
}
class Child {
@Field(store = Store.YES, analyze = Analyze.NO)
private String field;
}