4
回答
lucene如何处理韩文
终于搞明白,存储TCO原来是这样算的>>>   

lucene默认处理的都是英文,不知道3.0.2里是否带支持韩文分词的。不知道哪位大侠有韩文分词的给我一个。  还有一个问题就是谁有中文分词的具体实例和代码给小弟一个。新手学习中,希望好心人多多帮忙。

举报
lixiaofeng
发帖于7年前 4回/385阅
共有4个答案 最后回答: 7年前

引用来自#2楼“红薯”的帖子

直接用标准分词器就可以的 Lucene很早就支持CJK了

 但是直接用了之后,我直接输入韩文的时候,不显示。提示没有任何信息。标准分词是否需要更改一些东西。

import org.apache.lucene.analysis.cjk.*;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;

/** Index all text files under a directory. */
public class IndexFiles {
 
  private IndexFiles() {}

  static final File INDEX_DIR = new File("index");
 
  /** Index all text files under a directory. */
  public static void main(String[] args) {
    String usage = "java org.apache.lucene.demo.IndexFiles <root_directory>";
    if (args.length == 0) {
      System.err.println("Usage: " + usage);
      System.exit(1);
    }

    if (INDEX_DIR.exists()) {
      System.out.println("Cannot save index to '" +INDEX_DIR+ "' directory, please delete it first");
      System.exit(1);
    }
   
    final File docDir = new File(args[0]);
    if (!docDir.exists() || !docDir.canRead()) {
      System.out.println("Document directory '" +docDir.getAbsolutePath()+ "' does not exist or is not readable, please check the path");
      System.exit(1);
    }
   
    Date start = new Date();
    try {
      IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR), new CJKAnalyzer(Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);
      System.out.println("Indexing to directory '" +INDEX_DIR+ "'...");
      indexDocs(writer, docDir);
      System.out.println("Optimizing...");
      writer.optimize();
      writer.close();

这样更改正确吗?

引用来自#2楼“红薯”的帖子

直接用标准分词器就可以的 Lucene很早就支持CJK了

 麻烦能帮我看下,我贴的代码正确吗,谢谢

顶部