Java 类org.apache.lucene.search.spell.HighFrequencyDictionary 实例源码

项目:search    文件:IndexBasedSpellChecker.java   
@Override
public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException {
  IndexReader reader = null;
  if (sourceLocation == null) {
    // Load from Solr's index
    reader = searcher.getIndexReader();
  } else {
    // Load from Lucene index at given sourceLocation
    reader = this.reader;
  }

  // Create the dictionary
  dictionary = new HighFrequencyDictionary(reader, field,
      threshold);
  // TODO: maybe whether or not to clear the index should be configurable?
  // an incremental update is faster (just adds new terms), but if you 'expunged'
  // old terms I think they might hang around.
  spellChecker.clearIndex();
  // TODO: you should be able to specify the IWC params?
  // TODO: if we enable this, codec gets angry since field won't exist in the schema
  // config.setCodec(core.getCodec());
  spellChecker.indexDictionary(dictionary, new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, null), false);
}
项目:search    文件:HighFrequencyDictionaryFactory.java   
@Override
public Dictionary create(SolrCore core, SolrIndexSearcher searcher) {
  if(params == null) {
    // should not happen; implies setParams was not called
    throw new IllegalStateException("Value of params not set");
  }
  String field = (String)params.get(SolrSpellChecker.FIELD);

  if (field == null) {
    throw new IllegalArgumentException(SolrSpellChecker.FIELD + " is a mandatory parameter");
  }

  float threshold = params.get(THRESHOLD_TOKEN_FREQUENCY) == null ? 0.0f
      : (Float)params.get(THRESHOLD_TOKEN_FREQUENCY);

  return new HighFrequencyDictionary(searcher.getIndexReader(), field, threshold);
}
项目:NYBC    文件:IndexBasedSpellChecker.java   
@Override
public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException {
  IndexReader reader = null;
  if (sourceLocation == null) {
    // Load from Solr's index
    reader = searcher.getIndexReader();
  } else {
    // Load from Lucene index at given sourceLocation
    reader = this.reader;
  }

  // Create the dictionary
  dictionary = new HighFrequencyDictionary(reader, field,
      threshold);
  // TODO: maybe whether or not to clear the index should be configurable?
  // an incremental update is faster (just adds new terms), but if you 'expunged'
  // old terms I think they might hang around.
  spellChecker.clearIndex();
  // TODO: you should be able to specify the IWC params?
  // TODO: if we enable this, codec gets angry since field won't exist in the schema
  // config.setCodec(core.getCodec());
  spellChecker.indexDictionary(dictionary, new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, null), false);
}
项目:search-core    文件:IndexBasedSpellChecker.java   
@Override
public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException {
  IndexReader reader = null;
  if (sourceLocation == null) {
    // Load from Solr's index
    reader = searcher.getIndexReader();
  } else {
    // Load from Lucene index at given sourceLocation
    reader = this.reader;
  }

  // Create the dictionary
  dictionary = new HighFrequencyDictionary(reader, field,
      threshold);
  // TODO: maybe whether or not to clear the index should be configurable?
  // an incremental update is faster (just adds new terms), but if you 'expunged'
  // old terms I think they might hang around.
  spellChecker.clearIndex();
  // TODO: you should be able to specify the IWC params?
  // TODO: if we enable this, codec gets angry since field won't exist in the schema
  // config.setCodec(core.getCodec());
  spellChecker.indexDictionary(dictionary, new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, null), false);
}
项目:read-open-source-code    文件:IndexBasedSpellChecker.java   
@Override
public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException {
  IndexReader reader = null;
  if (sourceLocation == null) {
    // Load from Solr's index
    reader = searcher.getIndexReader();
  } else {
    // Load from Lucene index at given sourceLocation
    reader = this.reader;
  }

  // Create the dictionary
  dictionary = new HighFrequencyDictionary(reader, field,
      threshold);
  // TODO: maybe whether or not to clear the index should be configurable?
  // an incremental update is faster (just adds new terms), but if you 'expunged'
  // old terms I think they might hang around.
  spellChecker.clearIndex();
  // TODO: you should be able to specify the IWC params?
  // TODO: if we enable this, codec gets angry since field won't exist in the schema
  // config.setCodec(core.getCodec());
  spellChecker.indexDictionary(dictionary, new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, null), false);
}
项目:read-open-source-code    文件:HighFrequencyDictionaryFactory.java   
@Override
public Dictionary create(SolrCore core, SolrIndexSearcher searcher) {
  if(params == null) {
    // should not happen; implies setParams was not called
    throw new IllegalStateException("Value of params not set");
  }
  String field = (String)params.get(SolrSpellChecker.FIELD);

  if (field == null) {
    throw new IllegalArgumentException(SolrSpellChecker.FIELD + " is a mandatory parameter");
  }

  float threshold = params.get(THRESHOLD_TOKEN_FREQUENCY) == null ? 0.0f
      : (Float)params.get(THRESHOLD_TOKEN_FREQUENCY);

  return new HighFrequencyDictionary(searcher.getIndexReader(), field, threshold);
}
项目:read-open-source-code    文件:IndexBasedSpellChecker.java   
@Override
public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException {
  IndexReader reader = null;
  if (sourceLocation == null) {
    // Load from Solr's index
    reader = searcher.getIndexReader();
  } else {
    // Load from Lucene index at given sourceLocation
    reader = this.reader;
  }

  // Create the dictionary
  dictionary = new HighFrequencyDictionary(reader, field,
      threshold);
  // TODO: maybe whether or not to clear the index should be configurable?
  // an incremental update is faster (just adds new terms), but if you 'expunged'
  // old terms I think they might hang around.
  spellChecker.clearIndex();
  // TODO: you should be able to specify the IWC params?
  // TODO: if we enable this, codec gets angry since field won't exist in the schema
  // config.setCodec(core.getCodec());
  spellChecker.indexDictionary(dictionary, new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, null), false);
}
项目:read-open-source-code    文件:HighFrequencyDictionaryFactory.java   
@Override
public Dictionary create(SolrCore core, SolrIndexSearcher searcher) {
  if(params == null) {
    // should not happen; implies setParams was not called
    throw new IllegalStateException("Value of params not set");
  }
  String field = (String)params.get(SolrSpellChecker.FIELD);

  if (field == null) {
    throw new IllegalArgumentException(SolrSpellChecker.FIELD + " is a mandatory parameter");
  }

  float threshold = params.get(THRESHOLD_TOKEN_FREQUENCY) == null ? 0.0f
      : (Float)params.get(THRESHOLD_TOKEN_FREQUENCY);

  return new HighFrequencyDictionary(searcher.getIndexReader(), field, threshold);
}
项目:hmftools    文件:TreatmentCurator.java   
@NotNull
private static SpellChecker createIndexSpellchecker(@NotNull final Directory index) throws IOException {
    final Directory spellCheckerDirectory = new RAMDirectory();
    final IndexReader indexReader = DirectoryReader.open(index);
    final Analyzer analyzer = new SimpleAnalyzer();
    final IndexWriterConfig config = new IndexWriterConfig(analyzer);
    final Dictionary dictionary = new HighFrequencyDictionary(indexReader, DRUG_TERMS_FIELD, 0.0f);
    final SpellChecker spellChecker = new SpellChecker(spellCheckerDirectory);

    spellChecker.indexDictionary(dictionary, config, false);
    spellChecker.setAccuracy(SPELLCHECK_ACCURACY);
    return spellChecker;
}
项目:search    文件:TestHighFrequencyDictionary.java   
public void testEmpty() throws Exception {
  Directory dir = newDirectory();
  IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(new MockAnalyzer(random())));
  writer.commit();
  writer.close();
  IndexReader ir = DirectoryReader.open(dir);
  Dictionary dictionary = new HighFrequencyDictionary(ir, "bogus", 0.1f);
  BytesRefIterator tf = dictionary.getEntryIterator();
  assertNull(tf.getComparator());
  assertNull(tf.next());
  dir.close();
}
项目:NYBC    文件:TestHighFrequencyDictionary.java   
public void testEmpty() throws Exception {
  Directory dir = newDirectory();
  IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
  writer.commit();
  writer.close();
  IndexReader ir = DirectoryReader.open(dir);
  Dictionary dictionary = new HighFrequencyDictionary(ir, "bogus", 0.1f);
  BytesRefIterator tf = dictionary.getWordsIterator();
  assertNull(tf.getComparator());
  assertNull(tf.next());
  dir.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestHighFrequencyDictionary.java   
public void testEmpty() throws Exception {
  Directory dir = newDirectory();
  IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
  writer.commit();
  writer.close();
  IndexReader ir = DirectoryReader.open(dir);
  Dictionary dictionary = new HighFrequencyDictionary(ir, "bogus", 0.1f);
  BytesRefIterator tf = dictionary.getWordsIterator();
  assertNull(tf.getComparator());
  assertNull(tf.next());
  dir.close();
}