关于solr不能搜索中文
1、需要配置中文分词器,我在此使用的IKAnalyzer分词器,需要jar :IKAnalyzer3.2.8.jar
schema.xml
<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
分词配好之后,我们可以再solr的管理页面的[ANALYSIS]
的页面来进行分词测试:
这样你输入中华的时候,就可以匹配到 “中华人民共和国”;上图你可以清楚的看到分词器如何将中华人民共和国分割的
通常我们为了搜索的方便,都用keyword来搜索:
<fields>
<field name="id" type="sint" indexed="true" stored="true" required="true" />
<field name="userName" type="string" indexed="true" stored="true"/>
<field name="gender" type="string" indexed="true" stored="true"/>
<field name="address" type="string" indexed="true" stored="true" />
<field name="createTime" type="date" indexed="true" stored="true" default="NOW"/>
<!-- 关键字-->
<field name="keyword" type="text" indexed="true" stored="true" multiValued="true" />
</fields>
<copyField source="gender" dest="keyword"/>
<copyField source="address" dest="keyword"/>
<copyField source="userName" dest="keyword"/>
这样你搜索keyword=xxx 的时候,那么就会去gender,address,userName里面去找符合的结果。
2、如果分词器也配置好了,还是搜索不出来中文(我就出现这样的问题),那可能就是solr的字符集和tomcat的字符集不统一
我输入男子的时候,我发现在tomcat里面出现一条请求
乱码,应该就是字符集的问题,solr的默认字符集为UTF-8;所以我将tomcat的字符集设置成UTF-8
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
重启tomcat
ok,解决问题
分享到:
相关推荐
标题中的“人工智能-项目实践-搜索引擎-基于solr的中文搜索引擎框架”揭示了这个压缩包文件包含的内容主要是关于人工智能领域的一个具体项目实践,这个实践聚焦于搜索引擎的构建,且是针对中文文本的。Solr,作为...
在`solr-core.xml`或`solrconfig.xml`中,我们可以找到关于数据目录的配置,需要确保分词库能被正确地加载和使用。 具体步骤如下: 1. **下载分词库**:根据需求选择合适的中文分词库,如IK Analyzer,下载对应的...
Solr 6.0 中文分词是针对中文文本处理的重要功能,它是搜索引擎优化的关键环节。Solr 是一个流行的开源全文检索服务器,由 Apache 软件基金会开发,用于提供高效、可扩展的搜索和分析服务。在处理中文文档时,由于...
Solr4.1 + IK中文分词是针对Apache Solr搜索引擎的一个重要组合,它使得在中文环境下进行全文检索和分析变得更加高效和精确。Apache Solr是一个开源的企业级搜索平台,基于Lucene库,提供了高性能、可扩展的全文索引...
本文将详细阐述如何利用SOLR搭建一个企业搜索平台,包括所需环境、配置步骤以及中文分词的设置。 一、SOLR搭建企业搜索平台 1. **运行环境** - **运行容器**:Tomcat 6.0.20 - **Solr版本**:apache-solr-1.4.0 ...
"solr中文分词高版本"的标题表明我们在这里讨论的是适用于Solr 6.5及以上版本的中文分词解决方案,因为默认的Solr分词器可能不支持这些较高版本,或者在使用过程中会出现问题。 描述中提到的“网上提供的solr中文...
Apache Solr是基于Lucene的开源搜索服务器,提供了更高级别的API和配置选项,而Paoding则是一款专门针对中文的高性能分词工具,能准确地对中文文本进行切词,提升搜索的精确度。 首先,Apache Solr 3.2是Solr的一个...
Solr中文分词器是Apache Solr搜索引擎系统中用于处理中文文本的核心组件,它使得Solr能够对中文文档进行有效的索引和搜索。在Solr中,分词器(Tokenizer)是分析器(Analyzer)的一部分,负责将输入的文本拆分成可被...
在 Solr 环境中,ikanalyzer 的作用是为中文文档提供精确的分词服务,从而提升搜索质量和效率。Solr8.4.0 是 Apache Solr 的一个版本,这是一个高度可配置、高性能的全文搜索和分析引擎,广泛用于构建企业级搜索应用...
通过以上步骤,我们可以了解到SOLR的基本安装配置流程以及如何支持中文搜索。这些知识点对于初学者来说是非常宝贵的资源,可以帮助他们快速上手SOLR并应用于实际项目中。此外,对于想要深入了解SOLR内部机制的开发者...
总结,Solr作为强大的全文检索引擎,能有效地实现京东搜索的各项功能。从关键词搜索到分类过滤,再到价格排序和分页,Solr都能提供稳定高效的解决方案。通过不断优化和扩展,Solr能够满足电商网站日益增长的搜索需求...
ikanalyzer-solr中文分词包是专门为Apache Solr设计的一款强大的中文分词工具,它在处理中文文本时能够有效地进行词语切分,提高搜索准确性和效率。标题中提到的"ikanalyzer-solr中文分词包兼容solr7.5"意味着这个...
IK分词器在Solr中用于对中文文本进行精细化的分词处理,提升搜索精度。 5. **Solr核心组件**:`solr-7.5.0`包含了Solr的完整包,其中包括Solr服务器、管理界面、示例配置等。用户可以直接解压使用,无需额外安装...
对于中文搜索需求,需要配置 Solr 的中文分词器。具体步骤如下: 1. **修改 schema.xml 文件**:打开 `D:\solr\home` 目录下的 schema.xml 文件,增加或修改以下字段类型定义: ```xml ...
中文分词是Solr5处理中文文档的关键步骤,因为中文句子不像英文那样有明显的空格分隔单词,需要通过分词器来将连续的汉字序列切分成有意义的词汇单元。本篇文章将深入探讨在Solr5中配置中文分词的过程。 首先,我们...
总之,选择合适的中文分词器并对其进行有效配置,对于提升Solr的中文搜索效果至关重要。同时,关注Solr的版本更新和最佳实践,有助于保持系统的稳定性和性能。在实际应用中,应结合业务需求不断调整优化,以达到理想...
Apache Solr 是一个开源搜索引擎,基于 Apache Lucene...通过阅读官方文档,用户不仅能够掌握 Solr 的安装、配置、索引和搜索等基础操作,还能了解高级功能和优化技巧,从而高效地构建和维护基于 Solr 的搜索解决方案。
### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,基于Lucene库构建。它采用Java开发,提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到...