@Factory public SearchMapping getSearchMapping() { SearchMapping searchMapping = new SearchMapping(); searchMapping .entity(App.class) .indexed() .property("id", ElementType.METHOD).documentId() .property("name", ElementType.METHOD).field() .property("description", ElementType.METHOD).field() .property("supportedDevices", ElementType.METHOD).indexEmbedded().depth(1) .property("customerReviews", ElementType.METHOD).indexEmbedded().depth(1) .entity(Device.class) .property("manufacturer", ElementType.METHOD).field() .property("name", ElementType.METHOD).field() .property("supportedApps", ElementType.METHOD).containedIn() .entity(CustomerReview.class) .property("stars", ElementType.METHOD).field() .property("comments", ElementType.METHOD).field(); return searchMapping; }
@Factory public SearchMapping getSearchMapping() { final SearchMapping mapping = new SearchMapping(); mapping .analyzerDef("english", StandardTokenizerFactory.class) .filter(LowerCaseFilterFactory.class) .filter(SnowballPorterFilterFactory.class) .analyzerDef("german", StandardTokenizerFactory.class) .filter(LowerCaseFilterFactory.class) .filter(GermanStemFilterFactory.class); return mapping; }
@Override public void defineMappings(Cache cache, SearchMapping searchMapping) { searchMapping.entity(GenericData.Record.class) .indexed() .classBridgeInstance(new ValueWrapperFieldBridge()) .norms(Norms.NO) .analyze(Analyze.NO) .store(Store.NO); }
/** * Gets the search mapping. * * @return the search mapping */ @Factory public SearchMapping getSearchMapping() { final SearchMapping mapping = new SearchMapping(); mapping.analyzerDef("ngram", StandardTokenizerFactory.class).filter(LowerCaseFilterFactory.class) .filter(NGramFilterFactory.class).param("minGramSize", "3").param("maxGramSize", "3") .analyzerDef("se", StandardTokenizerFactory.class).filter(LowerCaseFilterFactory.class) .filter(SwedishLightStemFilterFactory.class).analyzerDef("en", StandardTokenizerFactory.class) .filter(LowerCaseFilterFactory.class).filter(PorterStemFilterFactory.class) .entity(DocumentContentData.class).indexed().property("hjid", ElementType.FIELD).documentId().property("content", ElementType.METHOD).field().analyzer("se").store(Store.NO).analyze(Analyze.YES).property("id", ElementType.METHOD).field() .entity(DocumentElement.class).indexed().property("id", ElementType.FIELD).documentId().property("title", ElementType.METHOD).field().analyzer("se").store(Store.NO).analyze(Analyze.YES).property("subTitle", ElementType.METHOD).field().analyzer("se").store(Store.NO).analyze(Analyze.YES) .entity(DocumentStatusContainer.class).indexed().property("hjid", ElementType.FIELD).documentId().property("documentCategory", ElementType.METHOD).field().analyzer("se").store(Store.NO).analyze(Analyze.YES); return mapping; }
public static DefaultCacheManager createContainer() throws Exception { SearchMapping mapping = new SearchMapping(); mapping.entity(Trade.class).indexed().providedId(). property("name", ElementType.METHOD).field().analyze(Analyze.NO). property("settled", ElementType.METHOD).field().analyze(Analyze.NO). property("tradeDate", ElementType.METHOD).field().analyze(Analyze.NO). property("tradeId", ElementType.METHOD).field().analyze(Analyze.NO); Properties properties = new Properties(); properties.put(org.hibernate.search.Environment.MODEL_MAPPING, mapping); properties.put("lucene_version", "LUCENE_CURRENT"); properties.put("hibernate.search.default.directory_provider", "ram"); GlobalConfiguration glob = new GlobalConfigurationBuilder() .nonClusteredDefault() //Helper method that gets you a default constructed GlobalConfiguration, preconfigured for use in LOCAL mode .globalJmxStatistics().enable() //This method allows enables the jmx statistics of the global configuration. .jmxDomain("org.infinispan.trades." + ++cnt) //prevent collision .build(); //Builds the GlobalConfiguration object Configuration loc = new ConfigurationBuilder() .indexing().enable().addProperty("hibernate.search.default.directory_provider", "filesystem").addProperty("hibernate.search.default.indexBase", "./target/lucene/indexes" + cnt) .enable() .indexLocalOnly(true) .withProperties(properties) .persistence().passivation(false).addSingleFileStore().purgeOnStartup(true).location("./target/localcache/indexing/trades" + cnt) //Disable passivation and adds a SingleFileStore that is purged on Startup .build(); return new DefaultCacheManager(glob, loc); }
@Factory public SearchMapping getSearchMapping() { SearchMapping mapping = new SearchMapping(); mapping.analyzerDef("autocompleteEdgeAnalyzer", PatternTokenizerFactory.class) .tokenizerParam("pattern", "(.*)") .tokenizerParam("group", "1") .filter(LowerCaseFilterFactory.class) .filter(StopFilterFactory.class) .filter(EdgeNGramFilterFactory.class) .param("minGramSize", "3") .param("maxGramSize", "50") .analyzerDef("autocompletePhoneticAnalyzer", StandardTokenizerFactory.class) .filter(StandardFilterFactory.class) .filter(StopFilterFactory.class) .filter(PhoneticFilterFactory.class) .param("encoder", "DoubleMetaphone") .filter(SnowballPorterFilterFactory.class) .param("language", "English") .analyzerDef("autocompleteNGramAnalyzer", StandardTokenizerFactory.class) .filter(WordDelimiterFilterFactory.class) .filter(LowerCaseFilterFactory.class) .filter(NGramFilterFactory.class) .param("minGramSize", "3") .param("maxGramSize", "20") .analyzerDef("standardAnalyzer", StandardTokenizerFactory.class) .filter(LowerCaseFilterFactory.class) .analyzerDef("exactAnalyzer", StandardTokenizerFactory.class) .analyzerDef("conceptParentPidsAnalyzer", WhitespaceTokenizerFactory.class); return mapping; }
@Override public SearchMapping getProgrammaticMapping() { return programmaticMapping; }
public SearchConfigurationTester setProgrammaticMapping(SearchMapping programmaticMapping) { this.programmaticMapping = programmaticMapping; return this; }
public StandaloneSearchConfiguration setProgrammaticMapping(SearchMapping programmaticMapping) { this.programmaticMapping = programmaticMapping; return this; }