前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用Boost影响Lucene查询结果的排序

利用Boost影响Lucene查询结果的排序

作者头像
菩提树下的杨过
发布于 2018-01-22 12:15:04
发布于 2018-01-22 12:15:04
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

以下代码在Lucene2.1下通过,主要是通过设置Document的Boost来影响文档的权重,以达到控制查询结果顺序的目的(前提是不利用Sort排序的情况下):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void btnSearch_Click(object sender, EventArgs e)

        {

            RAMDirectory ramDir = new RAMDirectory();

            IndexWriter iw = new IndexWriter(ramDir,new StandardAnalyzer(),true);



            string[] NameList = { "you are my friend", "you are my wife", "I love you" };

            string[] FileList = { "1", "2", "3" };



            for (int i = 0; i < NameList.Length; i++)

            {

                Document doc = new Document();

                doc.Add(new Field("name", NameList[i], Field.Store.YES, Field.Index.TOKENIZED));

                doc.Add(new Field("file", FileList[i], Field.Store.YES, Field.Index.TOKENIZED));



                if (i == 2) { doc.SetBoost(2.0f); }//这里设置了第三个文档优先级最高,所以在搜索出来的结果中,该文档排在最前

                iw.AddDocument(doc);

            }

            iw.Close();



            IndexSearcher _searcher = new IndexSearcher(ramDir);

            QueryParser _parser = new QueryParser("name",new StandardAnalyzer());

            Query  _query = _parser.Parse("you");

            Hits hitDoc = _searcher.Search(_query);



            lstResult.Items.Clear();//lstResult为一个ListBox



            for (int i = 0; i < hitDoc.Length(); i++)

            {

                Document doc = hitDoc.Doc(i);

                lstResult.Items.Add(doc.Get("file") + " " + doc.Get("name"));

            }            

            _searcher.Close();

        }

以下是运行结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
PHP7 编译安装
本文介绍了手动编译安装 PHP 的具体步骤。 修订记录 Debian9 Ubuntu17.04 出现错误请详细查看后边说明(PHP 7.1.9 不会报错了)。出现错误强烈建议使用 https://stackoverflow.com 进行搜索! macOS $ brew tap homebrew/homebrew-php $ brew install php71 安装依赖包 RedHat $ yum install gcc \ gcc-c++ \ li
康怀帅
2018/02/28
2.5K0
Ubuntu 16.04 编译安装 PHP 7.2
上一篇文章 Linux 下 Nginx + PHP 环境的配置 扯了那么多复杂的概念,现在让我来说一说怎么把它用在实践之中。
zgq354
2019/11/24
2K0
编译源码安装PHP 5.4
我们使用vagrant建立虚拟环境,这里使用"chef/centos-6.5"这个box,这个box是一个比较纯净的CentOS-6.5系统。
用户2131907
2019/02/27
4.5K0
Ubuntu18.04 安装Asterisk16.10 + FreePBX15.0
还需要添加ppa源,因为在第二步安装依赖的时候需要安装php5.6,如果不添加的话apt-get install的时候会提示找不到该包。
程序员小涛
2020/12/03
1.2K0
编译安装PHP7及扩展
编辑 php.ini,文件中的配置项 cgi.fix_pathinfo 设置为 0 。
landv
2020/11/26
2.9K0
WSL 快速搭建 LNMP 环境
康怀帅
2017/12/27
4.6K1
源码安装PHP7
下载地址http://www.php.net/downloads.php 点击下面红色框,下载“php-7.2.4.tar.bz2”
潇洒哥和黑大帅
2018/10/23
8.9K1
源码安装PHP7
Ubuntu下编译Opencv4.0及opencv_contribute模块步骤详解
编译环境:ubuntu16.04 LTS Opencv版本:opencv4.0.1+opencv4.0.1 contribute
OpenCV学堂
2019/08/21
6.3K0
Ubuntu下编译Opencv4.0及opencv_contribute模块步骤详解
openResty安装组件drizzle遇到的一些问题
考虑到大家找起来比较麻烦,这里提供一个百度云盘下载2011.07.21的包,点击即可下载提取码:92v4
友儿
2022/09/11
6490
PHP - php7编译安装及新特性
虽然php8已经上市,但是系统学习一下php7,初衷的打算是想彻底的掌握PHP的底层原理和语言结构,结合PHP开发PHP扩展、或者是编写一个Swoole的框架,解决实际生产的性能问题,解放生产力,发展生产力!
stark张宇
2023/02/07
5681
(麒麟V10-arm)编译安装php-7.4及部分依赖
QGS
2023/11/14
8230
Mac 安装 PHP8
下载源码 wget https://www.php.net/distributions/php-8.0.0.tar.gz tar zxvf php-8.0.0.tar.gz cd php-8.0.0 安装 PHP # 生成 configure 文件 ./buildconf --force # 配置构建流程(最小化安装) ./configure --prefix=/usr/local/php80 \ --with-config-file-path=/usr/local/php80 \ --enable-cli
兔云小新LM
2020/11/29
3.8K0
Mac 安装 PHP8
手动编译安装php、nginx
以往都是使用 lnmp 一键安装包,进行开发环境的搭建,这两天自己手动编译安装php、nginx使其能成功打印出 
lukachen
2023/10/22
3850
(Centos7-x86)编译安装php-7.4
PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。 PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
QGS
2023/11/20
4920
Ubuntu16桌面版编译和安装OpenCV4
本篇概览 这是一篇笔记,记录了纯净的Ubuntu16桌面版电脑上编译、安装、使用OpenCV4的全部过程,总的来说分为以下几部分: 安装必要软件,如cmake 下载OpenCV源码,包括opencv和opencv_contrib,并且解压、摆好位置 运行cmake-gui,在图形化页面上配置编译项 编译、安装 配置环境 验证 环境 环境信息如下: 操作系统:Ubuntu16.04桌面版 OpenCV:4.1.1 注意:本文全程使用非root账号操作 废话少说,直接在新装的Ubuntu16桌面版开始操作 换源
程序员欣宸
2021/12/07
9230
Ubuntu16桌面版编译和安装OpenCV4
如何编译安装PHP扩展
为什么80%的码农都做不了架构师?>>> 一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。 安装PHP扩展最简单的办法就是 sudo apt-get
lilugirl
2019/05/26
1.9K0
源码编译安装PHP5、PHP7 原
说明: 安装完成PHP后会在Apache中自动添加相应模块,同时在Apache配置文件/usr/local/apache2.4/conf/httpd.conf中也会自动添加相应配置内容。
阿dai学长
2019/04/03
2.1K0
Centos7源码编译安装PHP7.2(生产环境)
注:本文转自详解Centos7源码编译安装 php7.2之生产篇,如需转载请注明出处https://www.cnblogs.com/zhuchenglin/p/11773409.html。
lin_zone
2019/11/01
1.4K0
PHPY 打破语言界限,使PHP引入Python生态,开创PHP语言AI编程时代!
包括当下非常流行的 AI 库,如:PyTorch、transformers、TensorFlow 等包括当下非常流行的 AI 库,如 PyTorch、transformers、TensorFlow 等,以及科学计算库,如 Numpy、Pandas、Scikit 等,还可以使用图形界面库,如 PyQt、wxPython 等。
Tinywan
2023/12/13
8950
PHPY 打破语言界限,使PHP引入Python生态,开创PHP语言AI编程时代!
php5编译安装常见错误和解决办法集锦
最近在给开发同事折腾开发测试环境,其中就有 php 的编译安装。由于每个人的需求不一致,所以也接触到了各种模块编译和集成,中间不乏各种编译依赖报错。 正好,搜了几次都是下面 2 篇文章内容,干脆就转到
张戈
2018/03/21
2.3K0
php5编译安装常见错误和解决办法集锦
相关推荐
PHP7 编译安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档