-
顶部滑动选词+弹出汉字面板选词,支持滑动。 具有记忆功能,之前选中过的词语首先显示,支持单个拼音多个汉字,自动调整优先级。 具有造词功能,可以直接打开文件文件写入自定义词组,最高级别显示。 支持数字小键盘...
-
基于mpvue平台 支持农历、按周切换、可自定义。 mp-swipe-card - 小程序卡片滑动组件,类似探探的效果,貌似现在只支持左右滑动 weapp.request - 为微信小程序提供的网络请求组件,是 wx.request 的扩展,基于 ...
-
✅ 微信公众号 Markdown 编辑器 - OpenWrite:Markdown 微信编辑器是一款专业强大的微信公众平台在线编辑排版工具,提供手机预览功能,让用户在微信图文 、文章、内容排版、文本编辑、素材编辑上更加方便 - 更多介绍...
-
PowerPoint.2007宝典 8/10
2012-04-01 18:39:238.7.2 利用同义词库查找同义词和反义词 165 8.7.3 将文字翻译成其他语言 165 8.7.4 使用信息检索网站 166 8.7.5 使用商业和金融网站 166 8.8 小结 167 第9章 创建和格式化表格 168 9.1 创建新表格 168... -
Lucene从入门到熟悉(三)分词
2014-08-21 21:45:21分词是用来对文本按语言特征按算法进行过滤、分组处理一种技术。 分词的对象是文本,而不是图像动画脚本等等 分词的方式就是过滤与分组 过滤主要是把文本中那些没有实际意义的字或词过滤掉 分组就是按照"分词...分词
分词是用来对文本按语言特征按算法进行过滤、分组处理一种技术。分词的对象是文本,而不是图像动画脚本等等分词的方式就是过滤与分组过滤主要是把文本中那些没有实际意义的字或词过滤掉分组就是按照"分词数据库"内已添加好的词进行匹配。Lucene提供的分词器// Analyzer analyzer=new StandardAnalyzer();
// Analyzer analyzer=new SimpleAnalyzer();
// Analyzer analyzer=new WhitespaceAnalyzer();
// Analyzer analyzer=new ChineseAnalyzer();
// Analyzer analyzer=new CJKAnalyzer(); // 两个汉字一组package com.lucene.test.T03; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.SimpleAnalyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.WhitespaceAnalyzer; import org.apache.lucene.analysis.cjk.CJKAnalyzer; import org.apache.lucene.analysis.cn.ChineseAnalyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.wltea.analyzer.lucene.IKAnalyzer; public class TestAnalyzer { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // Analyzer analyzer=new StandardAnalyzer(); // Analyzer analyzer=new SimpleAnalyzer(); // Analyzer analyzer=new WhitespaceAnalyzer(); // Analyzer analyzer=new ChineseAnalyzer(); // Analyzer analyzer=new CJKAnalyzer(); Analyzer analyzer=new IKAnalyzer(); TokenStream tokenStream=analyzer.tokenStream("", new StringReader("welcome to use lucene! ?")); // TokenStream tokenStream=analyzer.tokenStream("", new StringReader("明天会更美好!")); Token token =new Token(); while(tokenStream.next(token)!=null) { System.out.println(token.term()); } } }
paoding开源中文分词器package com.lucene.test.T03; import java.io.IOException; import java.io.StringReader; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class AnalyzerPaoding { private static Logger logger = LoggerFactory .getLogger(AnalyzerPaoding.class); public static void main(String[] args) throws IOException { Analyzer analyzer = new PaodingAnalyzer(); TokenStream ts = analyzer.tokenStream("", new StringReader("法律实践奥利弗论文集饿哦土建类士大夫接待来访将阿隆索")); Token token = new Token(); while ((token = ts.next()) != null) { logger.debug("read result from token"); System.out.println(token.term()); } } }
paoding中用Queryparsepackage com.lucene.test.T03; import java.io.IOException; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; public class TestIndexPaoding { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { String[] ids = { "1", "2", "3", "4" }; String[] names = { "张三", "李四", "王五", "赵六" }; // String[] names = { "zhangsan", "zhangsun", "zhangson", "zhaoliu" }; String[] address = { "居住北京", "南京", "北京海淀", "dalian" }; String[] birthday = { "19880101", "19860105", "19760205", "19550719" }; Analyzer analyzer = new PaodingAnalyzer(); String indexDir = "c:/temp/luceneindex"; Directory dir = FSDirectory.getDirectory(indexDir); // true 表示创建或覆盖当前索引;false表示对当前索引进行追加 // Default value is 128 IndexWriter writer = new IndexWriter(dir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED); for (int i = 0; i < ids.length; i++) { Document document = new Document(); document.add(new Field("id", ids[i], Field.Store.YES, Field.Index.ANALYZED)); document.add(new Field("name", names[i], Field.Store.YES, Field.Index.ANALYZED)); // Field.Index.NO表示不建立索引 document.add(new Field("address", address[i], Field.Store.YES, Field.Index.ANALYZED)); document.add(new Field("birthday", birthday[i], Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(document); } writer.optimize(); writer.close(); System.out.println("index created ...."); } }
package com.lucene.test.T03; import java.io.IOException; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.index.Term; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.TopDocCollector; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; public class TestSearcherPaoding { public static void main(String[] args) throws IOException, ParseException { String indexDir = "c:/temp/luceneindex"; Directory dir = FSDirectory.getDirectory(indexDir); IndexSearcher searcher = new IndexSearcher(dir); Analyzer analyzer = new PaodingAnalyzer(); ScoreDoc[] hits = null; QueryParser parser = new QueryParser("name", analyzer); Query qury = parser.parse("address:北京 AND NOT name:张三");// 高级查询(adress包含北京,但name不为张三的) TopDocs topDocs = searcher.search(qury, 10); hits = topDocs.scoreDocs; for (int i = 0; i < hits.length; i++) { Document doc = searcher.doc(hits[i].doc); System.out.print(hits[i].score + " "); System.out.print(doc.get("id") + " "); System.out.print(doc.get("name") + " "); System.out.print(doc.get("address") + " "); System.out.println(doc.get("birthday") + " "); } searcher.close(); dir.close(); } }
读取文件建立索引并查询:package com.lucene.test.T04; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestFileIndex { private static Logger logger = LoggerFactory.getLogger(TestFileIndex.class); public static void main(String[] args) throws FileNotFoundException, IOException { String indexDir = "c:/temp/lucene/index"; Analyzer analyzer = new PaodingAnalyzer(); Directory dir = FSDirectory.getDirectory(indexDir); IndexWriter writer = new IndexWriter(indexDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED); // read data from dataDir and create index String dataDir = "c:/temp/lucene/data"; File[] files = new File(dataDir).listFiles(); System.out.println("file numbers:" + files.length); for (int i = 0; i < files.length; i++) { // read file content StringBuffer strBuff = new StringBuffer(); String line = ""; FileInputStream is = new FileInputStream(files[i].getPath()); BufferedReader br = new BufferedReader(new InputStreamReader(is)); line = br.readLine(); while (line != null) { strBuff.append(line); strBuff.append("\n"); line = br.readLine(); } // create index Document document = new Document(); document.add(new Field("title", files[i].getName(), Field.Store.YES, Field.Index.ANALYZED)); document.add(new Field("content", strBuff.toString(), Field.Store.YES, Field.Index.ANALYZED)); // write index writer.addDocument(document); is.close(); br.close(); } writer.close(); dir.close(); } }
package com.lucene.test.T04; import java.io.IOException; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; public class TestFileSearch { public static void main(String[] args) throws IOException, ParseException { String indexDir = "c:/temp/lucene/index"; Directory dir = FSDirectory.getDirectory(indexDir); IndexSearcher searcher = new IndexSearcher(dir); Analyzer analyzer = new PaodingAnalyzer(); ScoreDoc[] hits = null; QueryParser parser = new QueryParser("content", analyzer); Query qury = parser.parse("软件"); TopDocs topDocs = searcher.search(qury, 10); hits = topDocs.scoreDocs; for (int i = 0; i < hits.length; i++) { Document doc = searcher.doc(hits[i].doc); // System.out.print(hits[i].score + " "); System.out.print(doc.get("title") + " "); System.out.print(doc.get("content") + " "); } searcher.close(); dir.close(); } }
高亮package com.lucene.test.T05; import java.io.StringReader; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.document.Document; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.Searcher; import org.apache.lucene.search.TopDocCollector; import org.apache.lucene.search.highlight.Highlighter; import org.apache.lucene.search.highlight.QueryScorer; import org.apache.lucene.search.highlight.SimpleFragmenter; import org.apache.lucene.search.highlight.SimpleHTMLFormatter; public class TestHighlight { public static void main(String[] args) throws Exception { Searcher searcher = new IndexSearcher("c:/temp/lucene/index"); Analyzer analyzer = new PaodingAnalyzer(); String filed = "content"; String queryStr = "分词"; QueryParser parser = new QueryParser(filed, analyzer); Query query = parser.parse(queryStr); TopDocCollector collector = new TopDocCollector(10); searcher.search(query, collector); ScoreDoc[] hits = collector.topDocs().scoreDocs; // highlight setup Highlighter highlight = null; SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter( "<font color='red'>", "</font>"); highlight = new Highlighter(simpleHTMLFormatter, new QueryScorer(query)); highlight.setTextFragmenter(new SimpleFragmenter(200)); Document doc; for (int i = 0; i < hits.length; i++) { System.out.println(hits[i].doc); System.out.println("---------------------------------------1"); System.out.println(hits[i].score); System.out.println("---------------------------------------2"); doc = searcher.doc(hits[i].doc); // System.out.println(doc.toString()); System.out.println("---------------------------------------3"); // hightlight view TokenStream tokenStream = new PaodingAnalyzer().tokenStream( "content", new StringReader(doc.get("content"))); System.out.println(highlight.getBestFragment(tokenStream, doc.get("content"))); } } }
-
XHTML.技术内幕(高清PDF中文版)
2011-05-26 15:39:383.2.16 ─按层次编排文本 152 3.2.17 ─处理不支持层次 的浏览器 154 3.2.18 ─建立内嵌层次 155 3.2.19 使用确定文本位置 157 3.2.20 、、、、、 ─建立加说明的文本 158 第4章 图像 163 4.1 概述 163 4.1.1 网页中... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24实例084 使用正则表达式检查字符串中重复出现的词 99 实例085 使用正则表达式替换字符串 101 实例086 使用正则表达式拆分字符串 102 实例087 使用正则表达式验证输入字母 102 实例088 使用正则表达式... -
ASP.NET开发实战1200例(第1卷).part2
2016-06-11 20:12:37实例016 按引用传递引用类型 35 实例017 程序性能的优化——装箱和拆箱的 最小化 36 2.2 流程控制和数组的应用 38 实例018 岔路口的选择——这是去医院还是去学校的路 38 实例019 看看你现在是否处于人生的黄金阶段 ... -
ASP.NET开发实战1200例(第1卷).part1
2016-06-11 20:07:19实例016 按引用传递引用类型 35 实例017 程序性能的优化——装箱和拆箱的 最小化 36 2.2 流程控制和数组的应用 38 实例018 岔路口的选择——这是去医院还是去学校的路 38 实例019 看看你现在是否处于人生的黄金阶段 ... -
ASP.NET开发实战1200例(第1卷).part3
2016-06-11 20:19:00实例016 按引用传递引用类型 35 实例017 程序性能的优化——装箱和拆箱的 最小化 36 2.2 流程控制和数组的应用 38 实例018 岔路口的选择——这是去医院还是去学校的路 38 实例019 看看你现在是否处于人生的黄金阶段 ... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part1
2016-06-16 20:55:43实例084 使用正则表达式检查字符串中重复出现的词 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part2
2016-06-16 20:59:52实例084 使用正则表达式检查字符串中重复出现的词 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part3
2016-06-16 21:02:21实例084 使用正则表达式检查字符串中重复出现的词 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55《C#开发实例大全(基础卷)》筛选、汇集了C#开发从基础知识到高级应用各个层面约600个实例及源代码,每个实例都按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读。全书分6篇共25章,主要... -
Visual Basic开发实战1200例(第Ⅰ卷).(清华出版.孙秀梅.巩建华).part1
2016-06-14 11:19:42实例063 获取字符串第一个字的地址 实例064 获取变量的地址 实例065 获取数组的地址 实例066 获取自定义过程地址 3.5 地址调用 实例067 传递对象指针 实例068 传递字符串指针 实例069 传递变量指针 实例070... -
C#编程经验技巧宝典
2008-06-01 08:59:33103 <br>0167 锁定文本框内的文本 103 <br>0168 使用Message.Show输出用户信息 104 <br>5.3 图片数据处理技巧 104 <br>0169 如何将图片存入数据库 104 <br>0170 如何将图片从数据库中读取... -
软件工程教程
2012-07-06 23:10:29考核方式: 课程设计(附设计说明文档,正文字数不少于1000字)(60%)+平时作业及实验(30%)+平时表现(10%),按优秀、良好、中、及格、不及格五级评定成绩 通过演示及讲述,讲解课程设计的整体情况,针对其设计提出一些技术... -
PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1
2016-06-14 01:25:19实例222 导航条的动画效果 281 第2篇 常用技术篇 第4章 文件操作 284 4.1 文件上传 285 实例223 以二进制形式上传文件到数据库 285 实例224 上传文件到服务器 287 实例225 限制上传文件的大小 288 实例226 限制上传... -
PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2
2016-06-14 01:27:23实例222 导航条的动画效果 281 第2篇 常用技术篇 第4章 文件操作 284 4.1 文件上传 285 实例223 以二进制形式上传文件到数据库 285 实例224 上传文件到服务器 287 实例225 限制上传文件的大小 288 实例226 限制上传...
收藏数
20
精华内容
8
-
【Python-随到随学】FLask第二周
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端
-
彻底关闭Windows更新
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
燕山大学《线性代数》期末考试(含答案).pdf
-
华为1+X——网络系统建设与运维(高级)
-
面试必备9条
-
西南科技大学《C语言》课后习题答案.pdf
-
西南科技大学电子线路分析与实践试卷和答案.pdf
-
谈谈springIOC和SpringID的理解
-
Initialization failed for ‘https://start.spring.io’
-
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
西南科技大学《电力工程基础》作业及其答案.pdf
-
Vue的细节优化解决300ms延迟问题
-
2021-03-03
-
西南科技大学《模电》期末复习题(超全且含答案).pdf
-
西南科技大学《软件技术基础》两套期末考试试卷(含答案).pdf