package org.molgenis.data.semanticsearch.explain.service; import org.apache.lucene.search.Explanation; import org.molgenis.data.Entity; import org.molgenis.data.Query; import org.molgenis.data.meta.model.EntityType; import org.molgenis.data.semanticsearch.explain.bean.ExplainedQueryString; import java.util.Map; import java.util.Set; public interface ElasticSearchExplainService { /** * Get explanation for a specific document in elasticSearch * * @param documentId * @param q * @return */ Explanation explain(Query<Entity> q, EntityType entityType, String documentId); /** * Deduce all the matches that are generated by ElasticSearch * * @param explanation * @return */ Set<ExplainedQueryString> findQueriesFromExplanation(Map<String, String> collectExpanedQueryMap, Explanation explanation); }