摘要: 【创建索引库】 使用indexwriter对象创建索引。 【实现步骤】 (1)创建一个java工程,并导入jar包。 (2)创建一个indexwriter对象。 1)指定索引库的存放位置Directory对象。 2)指定一个分析器,对文档内容进行分析。 (3)创建Document对象 (4)创建fi 阅读全文
posted @ 2018-10-13 21:56 猩生柯北 阅读(858) 评论(0) 推荐(0)
摘要: 【索引和搜索流程图】 对要索引的原始内容进行索引构建一个索引库,索引过程包括:确定原始内容即要搜索的内容-》采集文档-》创建文档-》分析文档-》索引文档。 从索引库中搜索内容,搜索过程包括:用户通过搜索界面-》创建查询-》执行搜索,从索引库搜索-》渲染搜索结果。 阅读全文
posted @ 2018-10-13 21:00 猩生柯北 阅读(517) 评论(0) 推荐(0)
摘要: (1)创建project (2)导入Lucene的核心包 (3)编写代码建立索引 /lucene01/src/cn/hk/lucene/TestIndex.java: /lucene01/src/cn/hk/lucene/TestSearch.java: 阅读全文
posted @ 2018-10-13 16:59 猩生柯北 阅读(289) 评论(0) 推荐(0)
摘要: 【概述】 (1)在使用数据库进行模糊查询时,其效率是较低的(全表扫描)。 同时,Sql语句无法直接执行对文件内容的检索。 Lucene可以实现对文件内容的快速检索。 (2)可以使用Lucene实现全文检索。Lucene是Apache下的一个开放源码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎 阅读全文
posted @ 2018-10-13 16:29 猩生柯北 阅读(125) 评论(0) 推荐(0)
摘要: 【 规则一】 表达式中,可以使用 "/xXX" 和 "/uXXXX" 表示一个字符("X" 表示一个十六进制数) 【 规则二】 在表达式 "/s","/d","/w","/b" 表示特殊意义的同时,对应的大写字母表示相反的意义。 【 规则三】 在表达式中有特殊意义,需要添加 "/" 才能匹配该字符本 阅读全文
posted @ 2018-10-13 15:57 猩生柯北 阅读(167) 评论(0) 推荐(0)
摘要: 几个代表抽象意义的特殊符号:"^","$","/b"。它们都有一个共同点,那就是:它们本身不匹配任何字符,只是对 "字符串的两头" 或者 "字符之间的缝隙" 附加了一个条件。理解到这个概念以后,本节将继续介绍另外一种对 "两头" 或者 "缝隙" 附加条件的,更加灵活的表示方法。 正向预搜索:"(?= 阅读全文
posted @ 2018-10-13 15:11 猩生柯北 阅读(325) 评论(0) 推荐(0)
摘要: 表达式在匹配时,表达式引擎会将小括号 "( )" 包含的表达式所匹配到的字符串记录下来。在获取匹配结果的时候,小括号包含的表达式所匹配到的字符串可以单独获取。这一点,在前面的举例中,已经多次展示了。在实际应用场合中,当用某种边界来查找,而所要获取的内容又不包含边界时,必须使用小括号来指定所要的范围。 阅读全文
posted @ 2018-10-13 15:05 猩生柯北 阅读(453) 评论(0) 推荐(0)
摘要: 【匹配次数中的贪婪与非贪婪】 在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:"{m,n}", "{m,}", "?", "*","+",具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。比如,针对文本"dxx 阅读全文
posted @ 2018-10-13 14:41 猩生柯北 阅读(2068) 评论(0) 推荐(0)
摘要: 一些符号在表达式中代表抽象的特殊意义: 举例 1: 表达式 "^aaa" 在匹配 "xxx aaa xxx" 时,匹配结果是:失败。因为 "^" 要求与字符串开始的地方匹配,因此,只有当 "aaa" 位于字符串的开头的时候,"^aaa" 才能匹配,比如:"aaa xxx xxx"。 举例 2: 表达 阅读全文
posted @ 2018-10-13 13:02 猩生柯北 阅读(1346) 评论(0) 推荐(0)
摘要: 前面随笔中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。如果使用表达式再加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。 使用方法是:"次数修饰"放在"被修饰的表达式"后边。比如:"[bcd][bcd]" 可以写成 "[bc 阅读全文
posted @ 2018-10-13 12:52 猩生柯北 阅读(457) 评论(0) 推荐(0)
摘要: 使用方括号 [ ] 包含一系列字符,能够匹配其中任意一个字符。用 [^ ] 包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。 举例 1: 表达式 "[bcd][bcd]" 匹配 "abc123" 时,匹配的结果是:成功;匹配到的内 阅读全文
posted @ 2018-10-13 11:51 猩生柯北 阅读(189) 评论(0) 推荐(0)
摘要: 正则表达式中的一些表示方法,可以匹配 '多种字符' 其中的任意一个字符。比如,表达式 "/d" 可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。 举例 1: 表达式 "/d/d",在匹配 "abc123" 时,匹配的结果是:成功;匹配到的内容是:"12";匹配到的位置是:开 阅读全文
posted @ 2018-10-13 11:46 猩生柯北 阅读(184) 评论(0) 推荐(0)
摘要: 一些不便书写的字符,采用在前面加 "/" 的方法。 还有其他一些有特殊用处的标点符号,在前面加"/" 后,就代表该符号本身。比如:^, $ 都有特殊意义,如果要想匹配字符串中 "^" 和 "$" 字符,则表达式就需要写成 "/^" 和 "/$"。 这些转义字符的匹配方法与 "普通字符" 是类似的。也 阅读全文
posted @ 2018-10-13 11:41 猩生柯北 阅读(316) 评论(0) 推荐(0)
摘要: 字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是"普通字符"。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 举例 1: 表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功;匹配到的内容是:"c";匹配到的位置是:开始于 2,结束于3。(注:下标从 0 阅读全文
posted @ 2018-10-13 11:34 猩生柯北 阅读(658) 评论(0) 推荐(0)
摘要: 【什么是正则表达式?】 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来: (1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串; (2)根据匹配规则对字符串进行灵活的替换操作。 阅读全文
posted @ 2018-10-13 11:30 猩生柯北 阅读(108) 评论(0) 推荐(0)
摘要: 【梗概】 1.根据XML配置文件(全局配置文件,有数据源的一些运行信息)创建一个SqlSessionFactory对象。 2.sql映射文件:配置了每一个sql以及sql的封装规则。 3.将sql映射文件注册在全局配置文件中。 4写代码: (1)根据全局配置文件得到SqlSessionFactory 阅读全文
posted @ 2018-10-13 10:09 猩生柯北 阅读(155) 评论(0) 推荐(0)
摘要: 【什么是Mybatis?】 MyBatis 是支持 普通 SQL 查询 , 存储过程 和 高级映射 的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 PO 阅读全文
posted @ 2018-10-13 09:41 猩生柯北 阅读(143) 评论(0) 推荐(0)