solr4.7拼音检索怎么实现(solr读音)

技术solr4.7拼音检索怎么实现这篇文章主要介绍“solr4.7拼音检索怎么实现”,在日常操作中,相信很多人在solr4.7拼音检索怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

这篇文章主要介绍“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

(0)

相关推荐

  • Solr4.7如何实现智能提示

    技术solr4.7智能提示怎么实现这篇文章主要介绍“solr4.7智能提示怎么实现”,在日常操作中,相信很多人在solr4.7智能提示怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月22日
  • css中加号是什么意思

    技术css中加号是什么意思这篇文章主要讲解了“css中加号是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css中加号是什么意思”吧!

    攻略 2021年11月17日
  • C++11中和动态数组相关的新特性有哪些

    技术C++11中和动态数组相关的新特性有哪些本篇内容介绍了“C++11中和动态数组相关的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月25日
  • 相似图像搜索插件imgsmlr性能测试与优化方法是什么

    技术相似图像搜索插件imgsmlr性能测试与优化方法是什么这篇文章主要讲解了“相似图像搜索插件imgsmlr性能测试与优化方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月10日
  • 黄骨鱼的做法,怎样才能做出好吃又营养的黄骨鱼

    技术黄骨鱼的做法,怎样才能做出好吃又营养的黄骨鱼食材:鲜活黄骨鱼(一般一餐一个人可以吃两至四条黄骨鱼的做法,最好购买新鲜的,可以自己拿回家处理,也可让卖家代劳) 配料:姜、葱、蒜、植物油、盐、味精、酱油、豆瓣酱、红剁椒(

    生活 2021年10月27日
  • 必知必会的 Vim 编辑器基础命令有哪些呢

    技术必知必会的 Vim 编辑器基础命令有哪些呢本篇文章为大家展示了必知必会的 Vim 编辑器基础命令有哪些呢,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为什么推荐 Vim 编辑

    攻略 2021年11月12日