Solr solr对拼音搜索和拼音首字母搜索的支持

Posted 菠萝小妹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr solr对拼音搜索和拼音首字母搜索的支持相关的知识,希望对你有一定的参考价值。

问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢?

  实现方式有2种,但是他们其实是对应的。

  •      用lucene实现

   1.建索引, 多建一个索引字段,即拼音和拼音首字母这2个字段。合并的一个字段。

    (拼音和拼音首字母,可以通过pinyin4j.jar。将想要进行拼音搜索的字段进行拼音转换。)

   2.对输入的参数判断是否是拼音,(可以通过将传人的值转换为 utf-8 形式,如果转换后的字符串长度大于原来的字符串的长度,那么就不是拼音。否则就进行拼音查询)

   3.对拼音索引那个字段进行查询,和中文查询一样。参考中文查询。

  •      solr实现

   1.solr实现,不可以用solr自带的功能建索引,那样做无法将拼音和拼音首字母这个字段放入到索引文件中。

   2.想要将拼音放到索引文件库中,即需要从数据库取数据,然后将数据转换成拼音,再将拼音放入到索引库中。

    (用自动建索引的时候是通过db-config.xml文件进行的对数据库的查询。所以无法对查询得到的字段进行拼音转换。)。以上功能用solrj进行实现。solrj提供对solr的一些扩展。

   3.对拼音字段进行查询,和中文查询一样。

 

  以上思路,经百度搜索,转摘自他人。还为实践,实践后,进行总结。

以上是关于Solr solr对拼音搜索和拼音首字母搜索的支持的主要内容,如果未能解决你的问题,请参考以下文章

iOS拼音搜索,拼音首字母搜索

在PostgreSQL中实现按拼音汉字拼音首字母搜索的例子

一个简单的汉字搜索匹配示例(支持拼音首字母简写)

Elasticsearch-高级搜索(拼音|首字母|简繁|二级搜索)

自制仿360首页支持拼音输入全模糊搜索和自动换肤

Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)