lucene6.0 查询语句设置关键字boost值

代码模板:

public class Demo {public static void main(String[] args) throws IOException, Exception {//建立索引String indexDirPath = util.Directory.GetAppPath("indexDir");Path path = Paths.get(indexDirPath);StandardAnalyzer analyzer = new StandardAnalyzer();IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer);
//		indexWriterConfig.setSimilarity(similarity);IndexWriter indexWriter = null;FSDirectory dir = null;try {dir = FSDirectory.open(path);indexWriter = new IndexWriter(dir, indexWriterConfig);
;		} catch (IOException e) {e.printStackTrace();}Document doc1 = new Document();FieldType cntFieldAType = new FieldType();cntFieldAType.setIndexOptions(IndexOptions.DOCS_AND_FREQS);cntFieldAType.setStored(true);cntFieldAType.setTokenized(true);doc1.add(new Field("content", "common1 hello hello", cntFieldAType));indexWriter.addDocument(doc1);Document doc2 = new Document();doc2.add(new Field("content", "common2 common2 hello", cntFieldAType));indexWriter.addDocument(doc2);indexWriter.commit();//查询索引
//		QueryParser queryParser = new QueryParser("content", analyzer);IndexReader r = DirectoryReader.open(dir);IndexSearcher searcher = new IndexSearcher(r);
//		Query query = queryParser.parse("common1 common2");BoostQuery boostQuery = new BoostQuery(new TermQuery(new Term("content", "common1")), 1.5f);BoostQuery boostQuery2 = new BoostQuery(new TermQuery(new Term("content", "common2")), 1f);BooleanClause clause = new BooleanClause(boostQuery, Occur.SHOULD);BooleanClause clause2 = new BooleanClause(boostQuery2, Occur.SHOULD);Builder builder = new BooleanQuery.Builder();BooleanQuery q = builder.add(clause).add(clause2).build();TopDocs topDocs = searcher.search(q, 10);for(ScoreDoc doc : topDocs.scoreDocs) {System.out.println(searcher.doc(doc.doc));}}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转载保存】Lucene7.1.0超详细的使用文档

转载地址:https://www.cnblogs.com/houzheng/p/9150314.html

【转载保存】lucene优秀文章整理

Lucene解析 - 基本概念: https://www.jianshu.com/p/fbb171e73721?fromtimeline&isappinstalled0 Lucene DocValues——没有看懂: https://www.cnblogs.com/bonelee/p/6669263.html Lucene DocValues详解: https://blog.csdn.net/zteny/article/details/60633374 So…

lucene中write.lock索引锁机制的原理

write.lock加锁的实现原理: 实现源码(lucene 6.0): Override protected Lock obtainFSLock(FSDirectory dir, String lockName) throws IOException {Path lockDir dir.getDirectory();// Ensure that lockDir exists and is a…

正则表达式大全

[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字&am…

天气数据获取接口和网址汇总

免费API:https://www.sojson.com/blog/305.html 爬取网址:http://www.weather.com.cn/ https://www.tianqi.com/chinacity.html

鸡汤

史蒂芬柯维的7个习惯就是自己的原则和价值观: 积极主动以终为始要事第一双赢思维知彼解己综合综效不断更新 稻盛和的原则和价值观比如六项精进: 付出不亚于任何人的努力要谦虚,不要骄傲要每天反省或者就要感谢积善行,思利他不要…

【转载保存】索引文件锁LockFactory

索引文件锁LockFactory LockFactory在Lucene中用来对索引文件所在的目录进行加锁,使得同一时间总是只有一个IndexWriter对象可以更改索引文件,即保证单进程内(single in-process)多个不同IndexWriter对象互斥更改(多线程持有相同引用的IndexW…

lucene大牛博客汇总保存

https://www.amazingkoala.com.cn/Lucene/Index/http://codepub.cn/tags/Lucene/

no segments* file found in SimpleFSDirectory问题总结

lucene6.0版本 场景一:第一次启动程序索引库为空抛出异常 最近在写lucene发现利用lucene6.0版本时候如果索引库为空构建indexWriter,代码如下: IndexWrterConfig config new IndexWriterConfig(analyzer); IndexWriter indexWriter new …

lucene Term查询

查询demo Path path Paths.get(util.Directory.GetAppPath("indexDir"));IndexReader reader DirectoryReader.open(FSDirectory.open(path));//获取IndexSearcher对象IndexSearcher indexSearcher new IndexSearcher(reader);Query query new TermQuery(new Ter…

IndexOptions类说明

IndexOptions是在lucene-core-x.jar包下面,其作用是在新建索引时候选择索引属性。 IndexOptions是一个枚举类: 枚举变量说明: NONE不被索引DOCS_AND_FREQS文档和词频建立索引DOCS_AND_FREQS仅对文档和词频建立索引DOCS_AND_FREQS_AND_POSIT…

【转载保存】lucene正则查询使用注意

今天要分享的是关于lucene中另外一种丰富的查询方式----正则查询,lucene内置了许多的查询API,以及更强大的自定义查询方式的QueryParse,大部分情况下我们使用内置的查询API,基本上就可以满足我们的需求了,但是如果你想…

lucene 各个版本介绍

官方说明文档:https://lucene.apache.org/core/8_3_0/changes/Changes.html#v8.3.0.other 开源中国翻译:https://www.oschina.net/p/lucene

【转载保存】搜索引擎调研文档

搜索引擎选型调研文档 Elasticsearch简介* Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。 它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。 Elasticsearch是一个建立在全…

webmagic抓取实例

git地址:https://github.com/code4craft/webmagic/tree/master/webmagic-samples/src/main/java/us/codecraft/webmagic/samples

lucene详细说明文档

以下部门功能在lucene5以上版本可能有的API所有改变 目录1.简介 2.了解索引操作 2.1倒排索引 2.2字段类型 2.3细分 2.4文件编号 2.5搜索索引 3.创建索引 4.基本索引操作 4.1核心索引类 4.2将数据添加到索引 5.文件和领域 5.1文件 5.2领域 5.3在Lucene中增强文档 1.简介 该索引是…

SimpleDateFormat(线程不安全)与DateTimeFormatter(线程安全)

https://www.liaoxuefeng.com/wiki/1252599548343744/1303985694703650

【转载保存】java8新特性学习

编者注:Java 8已经公布有一段时间了,种种迹象表明Java 8是一个有重大改变的发行版。 在Java Code Geeks上已经有大量的关于Java 8 的教程了,像玩转Java 8——lambda与并发,Java 8 Date Time API 教程: LocalDateTime和…