精华内容
下载资源
问答
  • word分词一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。能通过...
  • Word大型文档排版指南

    2011-12-01 12:34:18
    我自己写的一本关于Word2003应用的书籍,投稿机械工业出版社,被拒,发到这里来,希望能够帮助的朋友们。本书主要讲解用Word排版大型文档的经验和技巧,可供撰写毕业设计论文的同学和写书的作者参考,希望本书能...
  • oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说本身可视...
  • word文中引文的索引和引文列表中的索引对应关系是什么呢?是如何对应上的?我冥思苦想,昨天又系统地看了下代码,才所有悟,所以记录下我的探索过程。如下图所示:图1图2图1,是word文中引文,图2是题录引文列表,...

    在研究前辈们写的代码,总是搞不明白。word文中引文的索引和引文列表中的索引对应关系是什么呢?是如何对应上的?我冥思苦想,昨天又系统地看了下代码,才所有悟,所以记录下我的探索过程。

    如下图所示:

    图1

    图2

    图1,是word文中引文,图2是题录引文列表,红色的是索引,这两个索引是要一一对应的。

    这段代码实现的功能:过滤掉bib_List的重复项,然后初始化内存题录表。

    1 //bib_List 是题录列表,Globals.BibTableAccessor._dictBibs是内存题录列表字典,用来存储word文档的题录列表。

    2 for (int i = 0; i < bib_List.Count; i++)3 {4 if (!bib.Contains(bib_List[i]))5 {6 bib.Add(bib_List[i]);7 }8 }9 Globals.BibTableAccessor._dictBibs[Globals.MemoryDataKey] = bib;

    1 Int32 i_BIndex=1;2 for (int i = 0; i < bib_List.Count; i++)3 {4 //初始化格式化内存表记录

    5 MemoryData memData = newMemoryData();6 memData.BPhysicsID =i_BIndex;7 if(existBibs.ContainsKey(bib_List[i].BibliographyId))8 {9 //若有重复处理

    10 }11 else

    12 {13 memData.BLogicID =i_BIndex;14 i_BIndex++;15 }16 }

    图1中的索引是根据 memData.BLogicID生成的,我们再看看引文列表的索引是根据什么生成的?

    1 if(Globals.BibTableAccessor._dictBibs.ContainsKey(Globals.MemoryDataKey))2 {3 List unquieBibliographies = this.GetUniqueBibliographies(Globals.BibTableAccessor._dictBibs[Globals.MemoryDataKey]);4 this.CreateaReferencesList(cache, unquieBibliographies, journalStyle, wordStyle);5 }

    从上面的代码可以看到  unquieBibliographies 这个来源正是内存中的题录表,第4行代码,正是实现引文列表的,它的内部实现是循环内存题录表,然后根据循环的i变量来生成引文列表索引。

    到这里,我就想,文中引文索引和引文列表的索引,都是和内存题录表的存储顺序相关。那如果内存题录表在第二次使用的时候,它的顺序会不会变化?于是一个大胆的想法产生了:这个内存题录表,在c#中是一个泛型List,那List的存储在不排序的情况下到底会不会变呢?List是不是按我们Add的顺序存储,然后就不变呢?

    为了揭开这些问题的答案,我偷偷地看了下List底层到底是怎么实现的?

    看到构造函数里面,原来是构造了一个空的数组,默认容量是4。难怪以前比较厉害的同学,告诫我们给List适当地初始容量,这样会提供List效率。当时,一脸懵逼,为什么呢?现在看了代码才明白,

    当我们Add一个元素的时候,判断如果当前数组大小和元素的个数相等时,这时候要扩容,按照2倍的规则扩容的:

    其实,我觉得执行这个扩容代码倒不耗费什么性能。真正耗费性能的,应该是不断地向内存申请存储空间,我觉得这个事情应该耗费性能。按照我的想法,就算申请存储空间也不耗费性能,那微软会怎么做呢?是在原来数组的基础上扩展容量,还是新实例化了一个数组,把原来的数组元素拷贝过去?

    我们继续研究代码,此刻我是一边写,一边研究,还没有吃中午饭。

    看到这里的代码,我觉得一阵欣喜,微软的做法,就是新构造了一个数组,把元素拷贝过去。那为什么不在原来的基础上扩容呢?我想了想,所谓数组,就是一组连续的存储空间,那微软要在原来的基础上扩展,何谈容易呢?万一这段空间周边没有空间呢?那就干脆把这样的困难的事情交给操作系统完成好了。

    展开全文
  • Lucene初体验

    2017-03-31 22:46:20
    什么是luceneLuceneApache提供的全文检索工具包相关概念 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。 全文检索一种将...

    什么是lucene

    Lucene是Apache提供的全文检索工具包

    相关概念

    • 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。
    • 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。
    • 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。
      这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。

    • 全文检索和数据库检索 的区别:
      全文检索的数据是无规律的
      全文检索提前建立索引 比数据库的like效率要高
      全文检索的效果更准确

    • Doucment:文档
    • Field: 类似与java的对象
      比如一个文本文件 有 文件大小 文件名称 文件路径 等field
      根据这些field 和分词器 会构成很多的term

    这里写图片描述
    建立索引的时候索引库 一方面保存 文档 一方面保存这些 term 。后期根据这些term进行查询文档

    这里写图片描述
    这里写图片描述

    建立索引

     //第一步:创建一个java工程,并导入jar包
            //第二步:创建一个indexwriter对象
            //1)指定索引库的存放位置Directory对象
            Directory directory = FSDirectory.open(new File(rootPath + "/temp"));
            //2)指定一个分析器,对文档内容进行分析
            //Analyzer analyzer = new StandardAnalyzer();//标准分词器 英文
            Analyzer analyzer = new IKAnalyzer();//第三方中文分词器
            IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_4_10_3, analyzer);
            IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);
            //第三步:创建field对象,将field添加到document对象中
    
            File file = new File(rootPath + "/resources");
            File[] files = file.listFiles();
            //遍历目录中的文件
            for (File f : files) {
                //第四步:创建document对象
                Document document = new Document();
                //文件名称
                String fileName = f.getName();
                Field fileNameField = new TextField("fileName", fileName, Field.Store.YES);
                //文件内容
                String content = FileUtils.readFileToString(f);
                Field contentField = new TextField("content", content, Field.Store.YES);
                //文件大小
                long size = FileUtils.sizeOf(f);
                Field sizeField = new LongField("size", size, Field.Store.YES);
                //文件路径
                String path = f.getPath();
                System.out.println(path);
                Field pathField = new StoredField("path", path);
                document.add(fileNameField);
                document.add(contentField);
                document.add(sizeField);
                document.add(pathField);
                //第五步:使用indexwriter对象将document对象写入索引库,此过程进行索引创建。
                //并将索引和document对象写入索引
                indexWriter.addDocument(document);
            }
            //第六步;关闭流
            indexWriter.close();

    查询索引

     //第一步:创建一个Directory对象,也就是索引库存放的位置
            Directory directory = FSDirectory.open(new File(rootPath + "/temp"));
            //第二步:创建一个indexReader对象,需要指定Directory对象
            IndexReader indexReader = DirectoryReader.open(directory);
            //第三步:创建一个indexSearcher对象,需要指定IndexReader对象
            IndexSearcher indexSearcher = new IndexSearcher(indexReader);
            //第四步:创建一个TermQuery对象,指定查询的域和查询的关键词
            Term term = new Term("fileName", "中文");
            //方式一:精准查询
            Query termQuery = new TermQuery(term);
            //方式二:查询所有
            //Query query=new MatchAllDocsQuery();
            //方式三:数值范围查询 最小值 最大值 区间
            //Query query=NumericRangeQuery.newIntRange("size",100,1000,true,true);
            //方式四:组合条件查询
            //BooleanQuery query=new BooleanQuery();
            //query.add(query1, BooleanClause.Occur.MUST);
            //query.add(query2, BooleanClause.Occur.MUST);
            //方式五:解析查询       参数一:默认域 参数二:分词器
            //QueryParser queryParser=new QueryParser("fileName",new IKAnalyzer());
            //语法:
            //     查询所有 *:*
            //     指定查询 域:查询的内容
            //     范围域:{ 数字 to 数字}
            //     组合查询:域:查询的内容 and/not/or 域:查询的内容
            //Query query= queryParser.parse("*:*");
            //Query query= queryParser.parse("fileName:中文");
            //第五步:执行查询
            TopDocs topDocs = indexSearcher.search(termQuery, 2);
            //第六步:返回查询的结果,遍历查询结果并输出
            ScoreDoc[] scoreDocs = topDocs.scoreDocs;//文档id 数组
            for (ScoreDoc scoreDoc : scoreDocs) {
                int doc = scoreDoc.doc;
                Document document = indexSearcher.doc(doc);
                //文件名称
                System.out.println(document.get("fileName"));
                //文件内容
                System.out.println(document.get("content"));
                //文件路径
                System.out.println(document.get("path"));
                //文件大小
                System.out.println(document.get("size"));
                System.out.println("---------------end-----------------");
            }
            //第七步:关闭IndexReader对象
            indexReader.close();

    源代码

    GitHub

    展开全文
  • 公式的编号略有不同,插入公式后,将公式单独放在一个段落,版式为“嵌入式”(Word默认),光标放在公式之后,不要(注意“不要”)选中公式,在“插入”菜单选“题注”,由于没有选中项目,所以“位置”一为...
  • 针式PKM 专业的 个人知识管理软件,比Windows资源管理器多130功能专门用来进行个人知识管理。 1.按标题瞬间搜索,和everything一样快,功能一样强大,来快速找到文档 2.支持200多种文档格式的全文搜索,支持组合...
  • 针式PKM 专业的 个人知识管理软件,比Windows资源管理器多130功能专门用来进行个人知识管理。 1.按标题瞬间搜索,和everything一样快,功能一样强大,来快速找到文档 2.支持200多种文档格式的全文搜索,支持组合...
  • 针式PKM 专业的 个人知识管理软件,比Windows资源管理器多130功能专门用来进行个人知识管理。 1.按标题瞬间搜索,和everything一样快,功能一样强大,来快速找到文档 2.支持200多种文档格式的全文搜索,支持组合...
  • 会计理论考试题

    2012-03-07 21:04:40
    17.供软盘驱动器定位确定所需的读写位置的是索引孔。( Y ) 18.供软盘驱动器定位确定所需的读写位置的读写窗口。( N ) 19.软盘插入软盘驱动器后,驱动器的读写就通过读写窗口存取信息。( Y ) 20.计算机的常用...
  • 1. 什么是软件测试: 7 2. ★软件测试的目的、意义:(怎么做好软件测试) 7 3.软件生命周期: 7 第二章 测试过程 8 1.测试模型 8 H模型: 8 V模型 9 2.内部测试 10 3外部测试: 10 验收测试:(在系统测试之后) 11...
  • 很多想入门新手就是被忽悠着收藏收藏再收藏,但是最后还是什么都没有学到,也就是"资源收藏家",也许新手要的就是 MachineLearning(机器学习) 学习路线图。没错,我可以给你们的一份,因为我们还通过视频记录下来...
  • 很多想入门新手就是被忽悠着收藏收藏再收藏,但是最后还是什么都没有学到,也就是"资源收藏家",也许新手要的就是 MachineLearning(机器学习) 学习路线图。没错,我可以给你们的一份,因为我们还通过视频记录下来...
  • 1、极限测试必须注意,测试前应对某设计的极限做好充分测试规划。 2、测试极限时还要注意多种业务接入点,本例为ISDN。对于交换机来说,任何一种业务都要分别在模拟话机、ISDN话机、V5话机、多种形式的话务台上...
  • 类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的...
  • 类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的...
  • 大话数据结构

    2019-01-10 16:35:22
    类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的...
  • 大话数据结构 程杰

    2018-09-01 10:06:43
    类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的...
  • 4.2 栈的定义 89 类似的很多软件,比如Word、Photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1 栈的定义 89 4.2.2 进栈出栈变化形式 90 4.3 栈的抽象数据类型 91 4.4 栈的顺序存储结构...
  • 当初是什么吸引了我,并使我至今仍为之兴奋?是Axure的功能。我不需要程序员,也不需要花费数月来学习一门编程语言。拥有了Axure,就能让我自由地进行迭代设计和测试,还可以塑造完美的可点击的交互原型。Axure简单...
  • 大话数据结构-程杰

    2014-07-13 23:45:52
    类似的很多软件,比如Word、Photoshop等,都有撤消(undo)的操作,也用栈这种思想方式来实现的。 4.2.1 栈的定义 89 4.2.2 进栈出栈变化形式 90 4.3 栈的抽象数据类型 91 4.4 栈的顺序存储结构及实现 92 ...
  •  bootcfg /default 设置默认引导。  bootcfg /add 向引导列表中添加 Windows 安装。  bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。  注意:使用 bootcfg /rebuild 之前,应...
  • 12.1 为什么使用数据访问页 358 12.1.1 理解数据访问页的结构化方式 359 12.1.2 浏览控件 361 12.1.3 数据访问页与窗体和报表的比较 362 12.1.4 哪类用户需要数据访问页 364 12.2 省时的数据访问页向导 ...
  • s1 = "本篇博客主要介绍两款语言探测工具,用于区分文本到底是什么语言," s2 = 'We are pleased to introduce today a new technology' print(detect(s1)) print(detect(s2)) print(detect_langs(s3)) # detect_...
  • 菜单会动态改变,这种方法可以查看多个选中文件的总大小</strong></li><li>36 > 使用 control + 鼠标滚轮 放大/缩小 屏幕。记得在 System Preferences -> Accessibility -> Zoom 中先勾选「Use...
  • asp.net知识库

    2015-06-18 08:45:45
    C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 Attributes in C# 手痒痒,也来个c# 2.0 object pool 泛型技巧系列:用泛型打造可复用的抽象工厂 体验.net2.0的优雅...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

word索引项是什么