add ElasticsearchMappingProvider

This commit is contained in:
Jiajing LIANG 2017-10-09 16:59:36 +02:00
parent ff477885e1
commit ce135e160b
3 changed files with 50 additions and 0 deletions

View File

@ -391,6 +391,10 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>

View File

@ -0,0 +1,41 @@
package ca.uhn.fhir.jpa.search;
import org.hibernate.search.elasticsearch.analyzer.definition.ElasticsearchAnalysisDefinitionRegistryBuilder;
import org.hibernate.search.elasticsearch.analyzer.definition.spi.ElasticsearchAnalysisDefinitionProvider;
public class ElasticsearchMappingProvider implements ElasticsearchAnalysisDefinitionProvider {
@Override
public void register(ElasticsearchAnalysisDefinitionRegistryBuilder builder) {
builder.analyzer("autocompleteEdgeAnalyzer")
.withTokenizer("pattern_all")
.withTokenFilters("lowercase", "stop", "edgengram_3_50");
builder.tokenizer("pattern_all").type("pattern").param("pattern", "(.*)").param("group", "1");
builder.tokenFilter("edgengram_3_50")
.type("edgeNGram")
.param("min_gram", "3")
.param("max_gram", "50");
builder.analyzer("autocompletePhoneticAnalyzer")
.withTokenizer("standard")
.withTokenFilters("standard", "stop", "phonetic_doublemetaphone", "snowball_english");
builder.tokenFilter("phonetic_doublemetaphone")
.type("phonetic")
.param("encoder", "double_metaphone");
builder.tokenFilter("snowball_english").type("snowball").param("language", "English");
builder.analyzer("autocompleteNGramAnalyzer")
.withTokenizer("standard")
.withTokenFilters("word_delimiter", "lowercase", "ngram_3_20");
builder.tokenFilter("ngram_3_20")
.type("nGram")
.param("min_gram", "3")
.param("max_gram", "20");
builder.analyzer("standardAnalyzer").withTokenizer("standard").withTokenFilters("lowercase");
builder.analyzer("exactAnalyzer").withTokenizer("standard");
builder.analyzer("conceptParentPidsAnalyzer").withTokenizer("whitespace");
}
}

View File

@ -898,6 +898,11 @@
<artifactId>hibernate-search-orm</artifactId>
<version>${hibernate_search_version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-elasticsearch</artifactId>
<version>${hibernate_search_version}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>