为什么我用庖丁分词查不出结果?

xrb2008 2008-04-24

建索引时我用疱丁分的词.成功了.用luke看确实分词了.
但搜索时.却结果不太正确

比如我搜"电"单个字.明明索引中有"电视","电视台".但结果却是0
或者搜"金融".含有"金融界"的内容却不出来.这是为什么.下面 是代码:


String str = "电";//内容的关键字
String FIELD_NAME = "title";
File indexDir = new File("g:\\index2");//存放索引的文件夹
Directory ramDir = new RAMDirectory(indexDir);
IndexReader reader = IndexReader.open(ramDir);
// 将庖丁封装成符合Lucene要求的Analyzer规范
Analyzer analyzer = new PaodingAnalyzer();
String queryString = str;
QueryParser parser = new QueryParser(FIELD_NAME, analyzer);
Query query = parser.parse(queryString);
Searcher searcher = new IndexSearcher(ramDir);
//query = query.rewrite(reader);
System.out.println("Searching for: " + query.toString(FIELD_NAME));
Hits hits = searcher.search(query);
System.out.println("size: " + hits.length());
reader.close();

中间需要怎么拆?and or?哪位指点下

 

fys124974704 2008-04-25
分词你试试用je-analysis-1.4.0.jar 这个外部jar 包,挺好的
至于查询,你使用FuzzyQuery吧!应该可以查到
javaeyes 2008-04-26
哇咔咔,你连lucene的分词和索引都没搞清楚哦。在Lucene,"电"和"电视机"是完全不同的词存在索引里面,用"电"查的话当然查不出"电视机"
Global site tag (gtag.js) - Google Analytics