首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

急Lucene 搜索有关问题,一天了,没有解决

2012-03-30 
急,Lucene 搜索问题,一天了,没有解决我在建索引的时候有一个字段是searchIndex,其各属性如下 :doc.add(new

急,Lucene 搜索问题,一天了,没有解决
我在建索引的时候有一个字段是searchIndex,其各属性如下 :
doc.add(new Field("searchIndex", list[i].getSearchIndex(), Field.Store.YES,Field.Index.TOKENIZED));
当我查询的时候方法如下
  String searchWord="(螺纹钢 AND 上海 AND Φ16)";
Analyzer analyzer=new MMAnalyzer();
QueryParser parser = new QueryParser("searchIndex",analyzer);
Query query=parser.parse(searchWord);
Hits hits=searcher.search(query);

我的问题是如果把String searchWord="(螺纹钢 AND 上海 AND Φ16)";改成String searchWord="(螺纹钢 AND 上海 AND 16)";也就是把Φ特殊符号去掉,就查不出来内容了。

searchIndex 在数据库中的内容为:螺纹钢Ф16-25mm日照上海 
我想通过 螺纹钢 上海 16 这三个条件把这条信息查询出来,怎么才能实现?


[解决办法]
有可能analyzer分析的时候没有把那个特殊符号和16分开,所以没查到...(可以用Luke验证一下)

至于解决的话,就不知道用什么分析器能把特殊符号和16分开了...
[解决办法]
是不是分词器的问题啊。可以试着换换分词器
[解决办法]
楼主用分词器的好像是mmseg4j~~~这个好像是最大匹配的,换成IK试试看

热点排行