solr服务搭建完成(索引已建立,可以进行搜索)
现象: 搜索" 美女"后,“美女美女美女美女”文档会出现第一位。
原因: 文档中关键词出现次数,默认的tf,即文档频率值就大,所以总是出现 在第一们。
但实际系统中可能并不需要 这种结果
这个时候的解决办法:根据自己业务需要进行重写评分器
1. 自定义评分器
package cn.xxt.solr.util;
import org.apache.lucene.search.DefaultSimilarity;
/**
* vtigu评分器
* @author zhaoguoli
* @version V1.0 2012-11-04
*/
@SuppressWarnings("serial")
public class VtiguSolrSimilarity extends DefaultSimilarity{
public float tf(float freq) {
return 1.0f;
}
public float tf(int freq) {
return 1.0f;
}
}
2. 添加至solr 配置文件 schema.xml
<!-- <similarity class="org.apache.lucene.search.DefaultSimilarity"/> -->
<similarity class="cn.xxt.solr.util.VtiguSolrSimilarity"/>
3. cn.xxt.solr.util.VtiguSolrSimilarity需要放置在 solr.war包中
路径为 WEB-INF/classes/cn/xxt/solr/util/目录下。
4. 重新启动 solr服务即可。
分享到:
相关推荐
接下来,我们可能需要对Solr的查询解析器进行配置,以便支持自定义的函数查询。这通常涉及到修改`schema.xml`或`managed-schema`文件,定义新的查询字段类型和查询解析器。例如,可以创建一个新的查询解析器,专门为...
下面将详细探讨Solr自定义评分组件及其在"solr自定义评分组件demo.zip"中的应用。 首先,我们需要理解Solr的评分机制。在Solr中,每个匹配查询的文档都会有一个评分(relevance score),这是基于Lucene的TF-IDF...
Solr的灵活性和可扩展性得益于其插件系统,使得用户可以根据需求自定义功能。下面我们将深入探讨Solr的各种插件及其在实际应用中的作用。 1. **查询解析器插件**: 查询解析器是Solr处理用户输入查询的关键组件。...
4. 高级搜索功能:Solr提供丰富的查询语法,如布尔逻辑、短语匹配、模糊匹配、字段限制等,以及自定义查询解析器和过滤器。 5. 自定义排序和评分:用户可以自定义文档排序规则和评分算法,以满足特定的业务需求。 6....
Solr能够对大量数据进行快速的全文检索,同时支持多字段排序、分面搜索和自定义评分策略。为了保持索引与源数据的一致性,Solr引入了DIH,这是一个内建的机制,用于从关系数据库、XML文件等外部数据源导入数据,并将...
你也可以自定义评分函数,或者按其他字段进行排序。 3. **分布式搜索**:SOLR云(SolrCloud)提供了分布式部署和自动复制,以实现高可用性和水平扩展。 4. **实时搜索**:SOLR的实时索引功能允许在不重启服务的...
同时,可以通过修改TF-IDF评分模型或者实现自定义评分函数来调整搜索结果的排名。 7. **分布式搜索**(SolrCloud):SolrCloud是Solr的分布式解决方案,支持集群部署、自动复制和故障转移。理解ZooKeeper的角色以及...
Schema是Solr的核心配置之一,用于定义索引字段、数据类型、分析器等,它允许用户自定义字段的属性,以满足不同数据的处理需求。 1.2.3 查询 Solr提供丰富的查询语法,包括布尔运算、短语匹配、范围查询等,还支持...
查询解析器负责将用户的输入转化为Solr可以理解的查询语言,而排序机制则允许用户根据特定字段或评分对搜索结果进行排序。 2. **Solr服务器**:Solr服务器是运行Solr应用的载体,通常使用Jetty或Tomcat等Web服务器...
- **丰富配置**:Solr允许用户自定义查询解析器、请求处理器、高亮器等,满足不同需求。 - **结果评分**:Solr提供TF-IDF算法计算文档的相关性,并返回最相关的搜索结果。 在“apache-solr-1.4.1”目录下,通常...
9. **自定义评分函数(TF-IDF,BM25等)**:用户可以根据业务需求定制评分算法,使最相关的结果出现在搜索结果前列。 10. **XML/JSON接口**:Solr使用HTTP协议提供XML和JSON格式的API,易于集成到各种Web应用程序中...
Solr提供了许多内置的分析器,如StandardAnalyzer,同时也支持自定义分析流程。 **自定义开发** 理解源代码可以帮助开发者根据需求定制分析器、过滤器和查询处理器,以满足特定的搜索需求。例如,你可以创建新的...
此外,Solr还支持自定义评分函数,可以按照用户定义的策略进行排序,提升搜索结果的相关性。 3. **Faceted Search(分面搜索)**:Solr 7.5.0提供了强大的分面搜索功能,用户可以根据某个字段的值进行统计和筛选,...
- **排序和评分**:根据相关性对搜索结果进行排序,可以自定义评分函数以优化结果展示。 - ** faceted search(分类浏览)**:提供基于属性的筛选和统计功能,方便用户细化搜索。 2. **Solr 4.10的分布式特性**:...
Solr有一个强大的插件架构,允许用户自定义请求处理器、查询解析器、过滤器等。`solr-plugin-init.xml`用于初始化插件,`PluginInfo`类描述了插件的信息。 9. **请求处理**: `RequestHandlers`处理来自客户端的...
5. 自定义评分:用户可以自定义文档的相关性评分算法,优化搜索结果。 二、安装与配置 Solr 8.5.2 on Linux 1. 下载:首先从 Apache 官方网站下载最新版的 solr-8.5.2.tgz 文件。 2. 解压:使用 `tar -zxvf solr-...
查询功能支持多种搜索运算符,提供灵活的排序和高亮显示,同时集成多种分词器和过滤器,以优化文本处理。 Solr的服务原理主要围绕索引和搜索展开。索引是构建搜索的基础,涉及文档的存储和索引构建。搜索则涉及查询...
3.2 配置Solr核心:自定义schema.xml文件,定义字段类型和字段,以及索引和查询分析器。 3.3 数据导入导出:使用DataImportHandler (DIH) 导入外部数据库数据,或者通过HTTP API批量上传JSON、XML等格式的数据。 四...