`

solr 短文本搜索(模糊,拼音,单字分词)

 
阅读更多

一、期望达到的效果

短文本模糊搜索,支持拼音搜索、数字的前后缀搜索、单字或者单字母搜索。最多支持20个字符长度,更多介绍及注意事项参见模糊搜索使用说明

如文档字段内容为“菊花茶”,则搜索“菊花茶”、“菊花”、“茶”、“花茶”、“菊”、“花”、“菊茶”、“ju”、“juhua”、“juhuacha”、“j”、“jh”、“jhc”等情况下可以召回。
如文档字段内容为手机号“13812345678”,则通过“^138”来搜索以“138”开头的手机号,通过“5678$”搜索以“5678”结尾的手机号;
如文档字段内容为“OpenSearch”,则通过单个字母或者组合都可以检索到。

二、步骤

1.先下载两个jar包 ,并将jar包上传到solrlib文件夹底下

pinyin4j-2.5.0.jar                         pinyinAnalyzer4.3.1.jar

 

 

 

2.在solr的schema文件底下配置如下

<fieldType name="short_text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index"> 
<tokenizer class="solr.StandardTokenizerFactory"/> 
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" 
maxPosAsterisk="3" maxPosQuestion="1" maxFractionAsterisk="0.33"/> 
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="1" /> 
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer> 
<analyzer type="query"> 
<tokenizer class="solr.StandardTokenizerFactory"/> 
</analyzer> 
</fieldType>

 

参数详解:

withOriginal:如果为true,那么在相同的位置产生原始的和反向的词元,如果为false,则只产生反向词元

maxPosAsterisk:指的是“*”最大在第几位会被翻转,默认是2,比如当前值等于2的时候,搜索*明星和 女*明星  都会被翻转,建议默认值就行。

maxPosQuestion:指的是?号最大在第几位查询此会被翻转,默认为1。设置为0,1和maxposasterisk扭转单纯后缀查询

minTrailing:触发反转的附加参数,如果星号(“*”)的位置是低于这个分数查询标记长度。默认值为0.0f(禁用

maxFractionAsterisk:最低数量的尾随字符通配符查询令牌过去后。为了好的性能,这应该设置为大于1的值。默认为2
分享到:
评论
1 楼 panghaoyu 2017-03-20  
实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
如果数据量大,还需要特殊优化
一个小功能,花费太大精力很不划算
92find.com上的一个js插件实现了搜索框自动补全托管服务,
只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
比如:汉字拼音匹配、拼音首字母匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器
兼容ios、Android、Windows

相关推荐

    solr cloud6.1.0拼音分词

    Solr Cloud 6.1.0 是 Apache Solr 的一...总之,Solr Cloud 6.1.0 的拼音分词功能极大地增强了中文搜索的体验,使得用户可以通过拼音输入找到相关的信息。通过适当地配置和优化,可以实现更高效、准确的全文检索服务。

    IK分词器,支持solr6.60高版本,支持智能分词和细粒度分词

    IK分词器,支持solr6.60高版本,支持智能分词和细粒度分词,经本人测试可以使用的,支持高版本,智能分词用IKCrudeAnalyzer

    支持solr5.5 solr6.0中IK分词需要的资料

    在Solr中,分词器(Tokenizer)是文本分析的重要组成部分,它负责将输入的原始文本拆分成可搜索的独立单元——词语。IK分词器(Intelligent Chinese Analyzer for Solr,简称IK)是一款针对中文的高效分词工具,专为...

    solr分词器

    Solr分词器是Apache Solr搜索引擎中的一个重要组件,它负责对输入的文本进行分词处理,以便于索引和查询。在理解Solr分词器之前,我们首先要明白Solr是一个开源的企业级搜索平台,它提供了高效、可扩展的全文检索、...

    IK分词solr5.0.0

    IK分词是中文自然语言处理领域中广泛应用的一种分词工具,尤其在搜索引擎和文本分析系统中,它的作用至关重要。Solr则是一个强大的、开源的企业级全文搜索引擎,它提供了高效的索引和查询功能,广泛用于大数据量的...

    solr6.x_IK中文分词工具

    Solr 是一个强大的开源搜索引擎,广泛应用于各类信息检索系统中。在处理中文文档时,一个优秀的中文...对于开发者来说,掌握如何在Solr中集成和使用IK分词器是一项必备的技能,有助于提升搜索系统的性能和用户体验。

    solr7.x ikanalyzer pinyin 分词

    总之,Solr 7.x 中的 Ikanalyzer 和拼音分词功能是中文信息检索的关键技术,它们使得 Solr 能够处理中文数据,并提供了便捷的拼音搜索功能。通过适当的配置和优化,可以构建出高效的中文搜索应用。

    跟益达学Solr5之拼音分词

    而拼音分词则是Solr中针对中文处理的一个重要特性,它使得用户可以通过输入拼音或者拼音首字母进行搜索,提高了搜索的灵活性和用户体验。 在Solr5中,拼音分词主要依赖于第三方插件,如Pinyin4j或Solr的 contrib...

    solr_拼音分词器_pinyin4j

    标题中的“solr_拼音分词器_pinyin4j”涉及到的是Apache Solr搜索引擎中的一个特定功能,即拼音分词。在中文文本处理中,拼音分词器能够将汉字转换成对应的拼音,这对于搜索和信息检索有着重要的作用。Solr是基于...

    solr ik分词器

    本教程将详细解释如何在Solr中安装和使用IK分词器。 首先,让我们理解一下什么是分词器。在文本检索和自然语言处理领域,分词是将连续的文本分解成有意义的词语单元(如单词或短语)的过程。对于中文,由于没有明显...

    Solr6.0集成IK-Analyzer分词器

    Solr6.0是Apache Lucene项目下的一个企业级全文搜索服务器,它提供了一个高性能、可扩展的搜索和导航层,使得数据可以被快速检索。IK Analyzer是一款优秀的开源中文分词器,尤其在处理现代汉语的分词效果上表现突出...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    在 Solr 环境中,ikanalyzer 的作用是为中文文档提供精确的分词服务,从而提升搜索质量和效率。Solr8.4.0 是 Apache Solr 的一个版本,这是一个高度可配置、高性能的全文搜索和分析引擎,广泛用于构建企业级搜索应用...

    solr4.10.0部署文件全集(包括分词器、mysql的jar包)

    本压缩包包含Solr 4.10.0的完整部署文件,以及额外的分词器和MySQL的JAR包,这对于那些需要与MySQL数据库集成并处理中文内容的项目来说非常实用。 1. **Solr 4.10.0核心组件**: - Solr 4.10.0包含了服务器端的...

    solr中文分词高版本

    Solr是一款强大的全文搜索引擎,广泛应用于企业级的信息检索系统中。在处理中文内容时,一个合适的中文分词器是至关重要的。"solr中文分词高版本"的标题表明我们在这里讨论的是适用于Solr 6.5及以上版本的中文分词...

    solr7.3.1中文分词器

    描述中提到的"solr7.3.1种需要的中文IK分词器",IK(Intelligent Chinese Analyzer)分词器是一个强大的、成熟的中文分词组件,广泛应用于各种Java开发的搜索系统中。IK分词器支持多种分词模式,包括精确模式、全...

    ik拼音分词jar高低版本打包奉上

    Solr是一个强大的、开源的企业级搜索平台,它可以对大量数据进行快速、准确的全文检索,而ik拼音分词器则可以增强Solr对中文查询的支持,通过将用户的中文输入转换为对应的拼音,提高搜索的准确性和覆盖率。...

Global site tag (gtag.js) - Google Analytics