// Search in all indexed fields
IndexReaderAccessor readerAccessor = null;
IndexReader reader = null;
try {
FullTextSession txtSession = Search.getFullTextSession(sess);
// obtain analyzer to parse the query:
Analyzer analyzer;
if (searchedEntity == null) {
analyzer = defaultAnalyzer;
} else {
analyzer = txtSession.getSearchFactory().getAnalyzer(searchedEntity);
}
// search on all indexed fields: generate field list, removing internal hibernate search field name: _hibernate_class
// TODO: possible improvement: cache the fields of each entity
SearchFactory searchFactory = txtSession.getSearchFactory();
readerAccessor = searchFactory.getIndexReaderAccessor();
reader = readerAccessor.open(searchedEntity);
Collection<String> fieldNames = new HashSet<>();
for (FieldInfo fieldInfo : ReaderUtil.getMergedFieldInfos(reader)) {
if (fieldInfo.isIndexed) {