步骤1:
首先创建三个字段:分别存放汉字,拼音和拼音首字母
<field name="hanzi" type="string" indexed="true" stored="false" multiValued="false"/>
<field name="pinyin" type="kw_pinyin" indexed="true" stored="false" multiValued="true"/>
<field name="py" type="kw_py" indexed="true" stored="false" multiValued="false" />
然后把汉子转化成拼音和拼音首字母
<copyField source="
hanzi
" dest="pinyin"/>
<copyField source="
hanzi
" dest="py"/>
步骤2:
在schema.xml文件中添加如下配置。
<fieldType name="kw_pinyin" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_cn.txt" />
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_cn.txt" />
</analyzer>
</fieldType>
<fieldType name="kw_py" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_cn.txt" />
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" isFirstChar="true" minTermLenght="2"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_cn.txt" />
</analyzer>
</fieldType>
步骤3:
通过q=hanzi:value* OR pinyin:value OR py:value&fl:hanzi
如果想加权重还可以在q后面拼接字符串酒OK,比如 :
defType:edismax
bf:abs(weight)^40
让某个分类、品牌、点击量等优先显示的权重设置。
分享到:
相关推荐
Apache Solr是一款强大的开源搜索引擎,它能够高效地处理和索引大量数据,提供快速的全文检索、 faceting、高亮显示等高级功能。在实际应用中,为了保持搜索结果的实时性,我们往往需要将数据库中的数据实时或定时...
Solr搜索自动补全是现代电商网站常见的一项功能,它能够显著提升用户体验。当用户在搜索框输入关键词时,系统会根据输入的文字,实时展示一个下拉列表,该列表包含用户可能想要搜索的查询项。这不仅可以引导用户更快...
然后可以通过POST请求将数据导入Solr,Solr会自动进行分词、建立倒排索引等操作,从而实现快速的全文检索。 Lucene是Solr的核心搜索引擎库,它提供了基本的搜索功能,如倒排索引、TF-IDF评分等。而Solr则在其基础上...
用于扫描solr注解,solrJ调用创建实体类时,可用于导入该包接口API
solr自动增量更新jar包,适用于solr4的版本,希望对大家有帮助
它允许Solr集群进行自动故障转移和数据恢复,确保高可用性和容错性。 2. **集合与分片**:在SolrCloud中,数据被组织成“集合”,每个集合可以进一步划分为多个“分片”。分片有助于水平扩展,通过将数据分散在多台...
1. **启动 Tomcat**:启动 Tomcat 服务器,等待 Solr 战包自动部署。 2. **测试连接**:通过浏览器访问 `http://127.0.0.1:8080/solr/`,如果页面显示 Solr 的管理界面,则表示部署成功。 #### 九、中文分词技术...
安装Solr时,通常会将下载的Solr war文件放入Tomcat的webapps目录下,启动Tomcat后,Solr服务就会自动启动并提供访问接口。 总的来说,Solr服务器是企业级搜索引擎的重要选择,适用于电子商务、新闻门户、内部文档...
使用Solr内置的Jetty服务器启动Solr (1)借助X Shell上传solr的安装包到/usr/local/目录下,使用 tar -zxvf命令进行解压. (2)使用内置的Jetty来启动Solr服务器只需要在example目录下,执行start.jar程序即可,...
此外,Solr还支持实时添加和更新文档,以及高效的近实时搜索。 在部署和使用Solr时,了解Solr的生命周期管理、集群配置、备份与恢复策略,以及如何监控和调整性能都是至关重要的。熟悉这些知识点,可以帮助你更好地...
综上所述,结合MySQL和SOLR,我们可以构建一个高效、灵活的全文搜索系统。通过DIH从MySQL导入数据,利用SOLR的索引机制和搜索能力,可以大幅提升数据检索的速度和用户体验。同时,合理地配置`schema.xml`和应用优化...
在Solr-4.10.3中,这一特性已经相当成熟,支持自动分片、故障转移和负载均衡,使得Solr可以处理大规模的数据和高可用性需求。 2. **索引和查询**:Solr的核心功能在于构建高效的全文索引和执行复杂的查询。4.10.3...
Solr 是一个功能强大的全文检索引擎,解决了 MySQL 数据库 I/O 读写瓶颈问题,提高搜索效率,应用于站内搜索,支持多种数据类型格式,实时搜索高效,通过 IK 分词器实现中文分词,通过 SpringDataSolr 实现自动更新...
总的来说,"apache-solr-dataimportscheduler.jar" 是一个强大的工具,它使Solr能够高效地处理大数据量的变化,同时保持搜索性能。通过合理配置和优化,你可以确保Solr始终拥有最新的、最准确的数据,满足实时搜索和...
如果你已经将 Solr 集成到 Tomcat,那么 Solr 会随着 Tomcat 的启动而自动启动。 5. **操作 Solr**: - 通过浏览器访问 `http://your_server:port/solr/admin` 来管理 Solr 实例,如创建、删除和配置核心。 - ...
在Solr 6.2.0版本中,这个强大的分布式搜索引擎引入了许多新特性和改进,使其在处理大规模数据搜索时更加高效。 一、Solr的架构与工作原理 Solr的核心架构包括客户端API、Solr服务器和索引库。客户端通过HTTP或...
根据提供的信息,我们可以总结出以下关于Apache Solr的相关知识点: ### Apache Solr简介 Apache Solr是一款开源的、高性能的企业级...在Java开发环境下,利用Solr进行高效的搜索服务构建是完全可行且易于实现的。
Solr的核心功能是提供高效的全文检索、命中高亮、拼写检查、分类、 faceting(分面导航)和更多其他高级功能。它基于Lucene库,提供了更易用的API和配置方式,使得开发者可以快速搭建搜索引擎。 华为FusionInsight ...
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
4. 排序与评分:通过TF-IDF算法,Solr可以自动计算文档与查询的相关度,根据相关度进行排序。 5. 高亮显示:搜索结果中关键词可以被高亮,帮助用户快速定位匹配部分。 6. 聚类与分类:Solr提供基于文档内容的聚类和...