- 浏览: 313808 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
public class MyCustomScoreProvider extends
CustomScoreProvider
{
public MyCustomScoreProvider(IndexReader reader) {
super(reader);
}
/**
* subQueryScore表示默认文档的打分
* valSrcScore表示的评分域的打分
*/
@Override
public float customScore(int doc, float subQueryScore, float valSrcScore)
throws IOException {
return subQueryScore/valSrcScore;
}
}
private class FilenameScoreProvider extends CustomScoreProvider {
String[] filenames = null;
public FilenameScoreProvider(IndexReader reader) {
super(reader);
try {
filenames = FieldCache.DEFAULT.getStrings(reader, "filename");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public float customScore(int doc, float subQueryScore, float valSrcScore)
throws IOException {
//如何根据doc获取相应的field的值
/*
* 在reader没有关闭之前,所有的数据会存储在一个域缓存中,可以通过域缓存获取很多有用的信息
* filenames = FieldCache.DEFAULT.getStrings(reader, "filename");可以获取所有的filename域的信息
*/
String filename = filenames[doc];
if(filename.endsWith(".txt")||filename.endsWith(".ini")) {
return subQueryScore*1.5f;
}
return subQueryScore/1.5f;
}
}
public class MyCustomScoreQuery extends CustomScoreQuery {
public MyCustomScoreQuery(Query subQuery, ValueSourceQuery valSrcQuery) {
super(subQuery, valSrcQuery);
}
@Override
protected CustomScoreProvider getCustomScoreProvider(IndexReader reader)
throws IOException {
//默认情况实现的评分是通过原有的评分*传入进来的评分域所获取的评分来确定最终打分的
//为了根据不同的需求进行评分,需要自己进行评分的设定
/**
* 自定评分的步骤
* 创建一个类继承于CustomScoreProvider
* 覆盖customScore方法
*/
return new
MyCustomScoreProvider
(reader);
}
}
@SuppressWarnings("serial")
private class FilenameScoreQuery extends CustomScoreQuery {
public FilenameScoreQuery(Query subQuery) {
super(subQuery);
}
@Override
protected CustomScoreProvider getCustomScoreProvider(IndexReader reader)
throws IOException {
return new FilenameScoreProvider(reader);
}
}
public void searchByScoreQuery() {
try {
IndexSearcher searcher = new IndexSearcher(IndexReader.open(FileIndexUtils.getDirectory()));
Query q = new TermQuery(new Term("content","java"));
//1、创建一个评分域
FieldScoreQuery fd = new FieldScoreQuery("score",Type.INT);
//2、根据评分域和原有的Query创建自定义的Query对象
MyCustomScoreQuery query = new MyCustomScoreQuery(q,fd);
TopDocs tds = null;
tds = searcher.search(query, 100);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for(ScoreDoc sd:tds.scoreDocs) {
Document d = searcher.doc(sd.doc);
System.out.println(sd.doc+":("+sd.score+")" +
"["+d.get("filename")+"【"+d.get("path")+"】--->"+
d.get("size")+"-----"+sdf.format(new Date(Long.valueOf(d.get("date"))))+"]");
}
searcher.close();
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void searchByFileScoreQuery() {
try {
IndexSearcher searcher = new IndexSearcher(IndexReader.open(FileIndexUtils.getDirectory()));
Query q = new TermQuery(new Term("content","java"));
FilenameScoreQuery query = new FilenameScoreQuery(q);
TopDocs tds = null;
tds = searcher.search(query, 100);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for(ScoreDoc sd:tds.scoreDocs) {
Document d = searcher.doc(sd.doc);
System.out.println(sd.doc+":("+sd.score+")" +
"["+d.get("filename")+"【"+d.get("path")+"】--->"+
d.get("size")+"-----"+sdf.format(new Date(Long.valueOf(d.get("date"))))+"]");
}
searcher.close();
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
发表评论
-
二十七、Luence在项目中运用
2012-12-26 15:03 1091public class LuceneContext { ... -
二十六、solr的基本使用
2012-12-26 10:26 959public class Message { p ... -
二十五、solr与tomcat的整合
2012-12-25 13:52 10491、solr是全文搜索服务器,专门用户管理索引的。 2 ... -
二十四、通过NRTManager和SearchManager实现近实时搜索
2012-12-21 11:35 1348是否进行实时搜索 实时搜索(近实时搜索) ... -
二十三、高亮显示
2012-12-20 09:24 1007public void lighter01() { ... -
二十二、Tika
2012-12-20 09:24 957Tika是2008年才产生的一个apache的项目,主要用于打 ... -
二十一、Luke
2012-12-20 09:24 808luke是一个查询索引的工具,使用时必须注意:版本要与luce ... -
二十、自定义过滤器
2012-12-20 09:23 865有的应用有些要求,对于某类型的内容即使满足条件了,但是也不 ... -
十七、搜索过滤
2012-12-20 09:23 629public void searcherByFilter(St ... -
十九、自定义QueryParser
2012-12-19 16:28 1218原因: 1、对于某些Quer ... -
十六、搜索排序
2012-12-19 12:14 1026public void searcherBySort(Stri ... -
十五、实现简单同义词分词器
2012-12-19 11:41 1253public interface SamewordContex ... -
十四、中文分词器
2012-11-28 13:49 861中文分词器 : Paoding:庖丁解牛分词器。 ... -
十三、自定义Stop分词器
2012-11-28 13:42 761import java.io.Reader; impor ... -
十二、Attribute
2012-11-28 13:20 823Attribute : ... -
十一、分词器的核心类
2012-11-28 13:12 901Analyzer : SimpleAnalyz ... -
十、分页搜索
2012-11-27 17:30 873分页查询有两种实现方式: 1、再查询 ... -
九、Queryparser
2012-11-27 17:24 993Mike 默认域包含mike Mi ... -
八、其他搜索Query
2012-11-27 10:30 654TermRangeQuery : 字母范围搜索 ... -
七、搜索的简单实现(TermQuery)
2012-11-26 17:12 991TermQuery只能精确匹配字符串(包括分词后的字符串,不 ...
相关推荐
然而,Lucene 的默认评分机制可能无法满足所有场景下的需求,这就需要我们对其进行自定义评分来实现特定的权重分配。本文将深入探讨如何在 Lucene 中实现自定义评分,以及它对提高搜索质量的重要性。 在 Lucene 中...
Elasticsearch5.5.1 自定义评分插件开发 文本相似度Elasticsearch5.5.1 自定义评分插件开发 文本相似度Elasticsearch5.5.1 自定义评分插件开发 文本相似度
在"solr自定义评分组件demo.zip"这个压缩包中,包含了一个示例项目,用于演示如何在Solr中实现自定义评分组件。主要文件有两个:`pom.xml`和`src`。 `pom.xml`是Maven项目的配置文件,它定义了项目依赖和构建设置。...
然而,系统默认的RatingBar可能无法满足所有设计需求,因此,自定义评分组件成为了一个重要的技能。在本篇中,我们将深入探讨如何在Android中实现一个自定义的评分组件。 首先,我们需要了解 RatingBar 的基本用法...
在IT行业中,自定义商城评分星星条是一种常见的用户反馈机制,它允许用户通过直观的星形图标来评价商品或服务,通常用于电商平台的商品评价、店铺评级等场景。这种设计不仅简洁明了,还能够快速传达用户对产品满意度...
在ASP.NET平台上构建一个自定义评分系统是一项常见的需求,它能够为用户提供互动性,并收集用户对网站内容或服务的反馈。下面将详细讲解如何利用ASP.NET实现这样的系统,包括涉及的关键技术、步骤以及可能遇到的问题...
在Android开发中, RatingBar 是一个内置的控件,用于显示评分或评级,通常以星形图标表示。然而,原生的RatingBar样式有限,不能满足所有设计需求。因此,开发者有时会选择自定义RatingBar来实现更个性化的视觉效果...
本资源"安卓自定义控件相关-android自定义评分控件ratingbar.rar"提供了关于如何在Android平台上实现自定义评分条(RatingBar)的示例。下面将详细阐述自定义评分控件的相关知识点。 1. **自定义View的基础** 在...
函数查询允许我们在查询语句中嵌入自定义的评分函数,这些函数可以是基于字段值的计算,如商品的价格、销量等。例如,我们可以定义一个评分函数,将销量和用户评价作为权重,结合TF-IDF得分进行综合评分。 以下是一...
在Android开发中,RatingBar是一种常用的用户界面组件,它允许用户进行评分选择,通常表现为星形图标。本篇文章将深入探讨如何自定义RatingBar,以满足特定的设计需求和交互效果。 首先,我们要了解RatingBar的基本...
本示例“安卓StarBar自定义评分demo”旨在帮助开发者快速理解和应用自定义的评分条功能。通过这个demo,开发者可以学习到如何在自己的应用中实现一个美观且功能完善的评分系统,只需少量代码即可完成。 首先,我们...
该类重写了 `getCustomScoreProvider` 方法,返回一个实现了自定义评分逻辑的 `CustomScoreProvider` 对象实例。在本例中,返回的是 `MyCustomScoreProvider` 类的实例。 #### 三、`CustomScoreProvider` 类详解 `...
在iOS开发中,自定义评分显示是一个常见的需求,特别是在应用评价、商品评级或者用户反馈等场景。本项目“ios-自定义评分显示.zip”显然提供了一个解决方案,它可以帮助开发者实现根据服务器返回的数据动态展示星星...
本文将深入探讨如何创建一个自定义的星型评分控件,包括它的源码解析、实现原理以及应用场景。这个控件允许用户通过点击星星来即时给出评分,支持回发和不回发两种评分机制。 首先,我们要理解什么是自定义控件。在...
本节将深入探讨如何在Android中实现自定义评分条。 首先,让我们了解Android内置的RatingBar。RatingBar继承自ProgressBar,它有固定数量的星星,并且可以设置为半星或全星显示。通过XML布局文件,我们可以设置...
在Android开发中,自定义评分组件是一...以上就是关于Android自定义评分组件的实现细节,涵盖了从UI设计、事件处理到数据交互的全过程。通过这样的自定义,我们可以创建出满足特定需求的评分系统,提升应用的用户体验。
在IT行业中,自定义的星级评分样式是一种常见的用户体验设计元素,尤其在电商、评论系统以及各种评分服务中广泛应用。这种自定义的星级评分样式能够帮助用户直观地了解某个产品或服务的质量,同时也能为网站增添视觉...
在IT界,自定义星级评分条是一种常见的用户界面(UI)元素,用于让用户对产品、服务或内容进行评价。这种控件通常由一系列星形图标组成,用户可以选择一颗或多颗星来表示他们的满意度等级。本篇文章将深入探讨如何在...