List of usage examples for org.apache.lucene.analysis.miscellaneous PerFieldAnalyzerWrapper PerFieldAnalyzerWrapper
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
From source file:com.mathworks.xzheng.analysis.queryparser.AnalysisParalysisTest.java
License:Apache License
public void testAnalyzer() throws Exception { Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_46); String queryString = "category:/philosophy/eastern"; Query query = new QueryParser(Version.LUCENE_46, "contents", analyzer).parse(queryString); assertEquals("path got split, yikes!", "category:\"philosophy eastern\"", query.toString("contents")); PerFieldAnalyzerWrapper perFieldAnalyzer = new PerFieldAnalyzerWrapper(analyzer); perFieldAnalyzer.addAnalyzer("category", new WhitespaceAnalyzer(Version.LUCENE_46)); query = new QueryParser(Version.LUCENE_46, "contents", perFieldAnalyzer).parse(queryString); assertEquals("leave category field alone", "category:/philosophy/eastern", query.toString("contents")); }
From source file:com.qwazr.search.bench.LuceneCommonIndex.java
License:Apache License
LuceneCommonIndex(final Path rootDirectory, final String schemaName, final String indexName, final double ramBufferSize, final boolean useCompoundFile) throws IOException { final Path schemaDirectory = Files.createDirectory(rootDirectory.resolve(schemaName)); this.indexDirectory = Files.createDirectory(schemaDirectory.resolve(indexName)); this.luceneDirectory = indexDirectory.resolve("data"); this.dataDirectory = FSDirectory.open(luceneDirectory); final IndexWriterConfig indexWriterConfig = new IndexWriterConfig( new PerFieldAnalyzerWrapper(new StandardAnalyzer())); indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND); indexWriterConfig.setRAMBufferSizeMB(ramBufferSize); final ConcurrentMergeScheduler mergeScheduler = new ConcurrentMergeScheduler(); mergeScheduler.setMaxMergesAndThreads(MAX_SSD_MERGE_THREADS, MAX_SSD_MERGE_THREADS); indexWriterConfig.setMergeScheduler(mergeScheduler); indexWriterConfig.setUseCompoundFile(useCompoundFile); final TieredMergePolicy mergePolicy = new TieredMergePolicy(); indexWriterConfig.setMergePolicy(mergePolicy); // We use snapshots deletion policy final SnapshotDeletionPolicy snapshotDeletionPolicy = new SnapshotDeletionPolicy( indexWriterConfig.getIndexDeletionPolicy()); indexWriterConfig.setIndexDeletionPolicy(snapshotDeletionPolicy); this.indexWriter = new IndexWriter(this.dataDirectory, indexWriterConfig); this.localReplicator = new LocalReplicator(); }
From source file:fi.semantum.strategia.Lucene.java
License:Open Source License
private static Analyzer getAnalyzer() { return new PerFieldAnalyzerWrapper(new LowerCaseWhitespaceAnalyzer(Version.LUCENE_4_9)); }
From source file:lia.chapter4.AnalysisParalysisTest.java
License:Apache License
public void testAnalyzer() throws Exception { Analyzer analyzer = new StandardAnalyzer(); String queryString = "category:/philosophy/eastern"; Query query = new QueryParser("contents", analyzer).parse(queryString); assertEquals("path got split, yikes!", "category:\"philosophy eastern\"", query.toString("contents")); PerFieldAnalyzerWrapper perFieldAnalyzer = new PerFieldAnalyzerWrapper(analyzer); query = new QueryParser("contents", perFieldAnalyzer).parse(queryString); assertEquals("leave category field alone", "category:/philosophy/eastern", query.toString("contents")); }
From source file:org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer.java
License:Open Source License
private Analyzer getPerFieldAnalyzerWrapper(Map<String, ColumnDefinition> indices) throws AnalyticsIndexException { Analyzer perFieldAnalyzerWrapper;//from w w w . j ava2 s . co m Map<String, Analyzer> analyzersPerField = new HashMap<>(); for (Map.Entry<String, ColumnDefinition> index : indices.entrySet()) { if (index.getValue().getType() == AnalyticsSchema.ColumnType.STRING) { analyzersPerField.put(Constants.NON_TOKENIZED_FIELD_PREFIX + index.getKey(), new KeywordAnalyzer()); } } if (analyzersPerField.isEmpty()) { perFieldAnalyzerWrapper = new PerFieldAnalyzerWrapper(this.indexerInfo.getLuceneAnalyzer()); } else { perFieldAnalyzerWrapper = new PerFieldAnalyzerWrapper(this.indexerInfo.getLuceneAnalyzer(), analyzersPerField); } return perFieldAnalyzerWrapper; }