这篇文章主要介绍“solr4.7拼音检索怎么实现",在日常操作中,相信很多人在solr4.7拼音检索怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“solr4.7拼音检索怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
拼音检索的大致思路是这样的:
将需要使用拼音检索的字段汇集到一个拼音分词字段里(我的拼音分词字段使用pinyin4j NGram做的)
加入两个冲突包:pinyin4j-2.5.0.jar、pinyinAnalyzer.jar
schema.xml文件设置:
fieldname='拼音type=' text _拼音indexed=' true ' stored=' false ' multi cally=' true '/
copyFieldsource='name'dest='拼音'/
copyFieldsource='author'dest='拼音'/
copyFieldsource='region'dest='拼音'/
copyFieldsource='主题“dest=”拼音'/
!-迈克尔:拼音-
fieldTypename=' text _拼音solr .TextField ' positionincrementgap=' 0 '
analyzertype='index '
tokenizerclass=' org。阿帕奇。露西。分析。cn。聪明。smartchinesesentencetokenizerfactory “/
filter class=' org。阿帕奇。露西。分析。cn。聪明。smartchinesewordnotkenfilterfactory “/
filter class=' com。深圳通。搜索。分析仪。pinyintrantetokenfilterfactory ' mintermlhint=' 2 '/
filter class=' com。神童。搜索。分析仪。pinyingramtokenfilterfactory ' Ming ram=' 6 ' MaxGram=' 20 '/
/分析仪
analyzertype='query '
tokenizerclass=' org。阿帕奇。露西。分析。cn。聪明。smartchinesesentencetokenizerfactory “/
filter class=' org。阿帕奇。露西。分析。cn。聪明。smartchinesewordnotkenfilterfactory “/
filter class=' com。深圳通。搜索。分析仪。pinyintrantetokenfilterfactory ' mintermlhint=' 2 '/
filter class=' com。神童。搜索。分析仪。pinyingramtokenfilterfactory ' Ming ram=' 6 ' MaxGram=' 20 '/
/分析仪
/fieldType使用索尔吉进行拼音检索:
/**
* @ method:testPhoneticize
*@Description:拼音检索
*?也会把不符合条件的检索出来
*(解决方法:把汉子和相应的拼音建立同义词)
*@returnvoid
*
*@author:ChenYW
*@date2014-4-16下午01:44:57
*/
publicListMapString,Stringphoneticize(Stringpinyin){ 0
尝试{
ListMapString,Stringlist=NewArraylistMapsString,String();
SolrQueryquery=newSolrQuery();
query.set('q ',' pinyin: '拼音);//高亮查询字段
QueryResponseqr=server.query(查询);//执行查询
solrdordocumentlistdlist=QR。getresults();
System.out.println('总数:' dlist。getnumfound());
映射字符串,字符串预=空
for(solrdordocumentsd :列表){ 0
mapRe=newHashMapString,String();
mapRe.put('name ',sd.getFieldValue('name ').toString());
mapRe.put('content '),sd.getFieldValue('content ').toString().substring(0,200));
名单。添加(MapRe);
}
返回列表
} catch(Solrserverexception){ 0
e。print stack trace();
}
returnnull
}到此,关于“solr4.7拼音检索怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155613.html