近期做项目中有用到过Lucene,那个模块是由一位前端大神负责的,空闲时间我也做了个关于Lucene做全文检索的Demo,记录下来,方便以后学习。
关于Lucene的原理,网上有长篇大论的文章,有兴趣的话可以去阅读,再次我就直奔主题,在代码中分析其原理。
1、创建索引(此处我用的是盘古分词)
注:在后台代码的第一行上加上 #define notes这样一行代码,目的是可以用外侧代码的#if,...
分类:
Web程序 时间:
2014-07-12 23:52:43
阅读次数:
509
翻转单词顺序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变.首先翻转(reverse)整个句子, 然后查找空格, 如遇到空格, 则翻转前面的单词, 或遇到结束符, 同样进行翻转.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* ...
分类:
其他好文 时间:
2014-07-12 22:56:00
阅读次数:
328
在采用FMM (正向最大匹配) 进行中文分词的时候, 可能会存在比较多的交集歧义, 这个时候为了解决交集歧义的问题, 可以采用 FM (Forwar Matching, 正向匹配) 进行中文分词, 正向匹配会在最大匹配的路径上查找所有可能成词的term(这里所有可能成词的term的意思是在构建索引的时候所有切分出来的词, 因为不是路径上的所有节点都会是切分成的词)。
http://blo...
分类:
其他好文 时间:
2014-07-12 22:23:26
阅读次数:
383
最近接触NLP中文分词, 在lunr.js的基础上, 实现了中文的最大正向匹配分词。
某些情况下, 我们在服务器端进行中文文本分词可以使用完整的基于mmseg算法的分词模块, 例如nodejieba, node-segment, 盘古分词等等, 但是在客户端环境下, 我们不能使用这些复杂的分词算法进行分词, 这个时候可以根据已经生成的索引进行简单的客户端分词, 就是所说的FMM (Forwar...
分类:
其他好文 时间:
2014-07-12 22:18:57
阅读次数:
301
承接前面对whoosh的文章,继续:
写索引文件
下面开始写入索引内容,过程如下:
writer = ix.writer()
writer.add_document(title=u"my document", content=u"this is my document", path=u"/a", tags=u"firlst short", icon=u"/icons/star.p...
分类:
其他好文 时间:
2014-07-12 20:22:08
阅读次数:
342
where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。
一、不用where 1=1 在多条件查询中的困扰
举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下:
string MySqlStr=”select * from ...
分类:
数据库 时间:
2014-07-12 19:58:22
阅读次数:
249
中文分词中存在交集歧义检测问题, 例如“互联网金宝” 可以切分为“互联网” 和“金宝”, 也可以切分为“互联”和“网金宝”, 如何在切分过程中检测是否有交集歧义发生, 以及如果存在交集歧义的话怎么处理切分问题, 是非常重要的话题。
这里, 可以采用FMM算法进行切分, 首先切分出最大的正向匹配, 然后进行交集歧义检测, 如果检测到存在交集歧义, 那么对可能存在歧义的一段文字进行FM切分, 获取所有的可能切分结果; 然后对剩下的query子句重复进行FMM切分, 直到query == null...
分类:
其他好文 时间:
2014-07-12 18:26:14
阅读次数:
264
控制:我们必须学会控制大师尤达(电影《星球大战》)曾有言:关键在于控制。这本故事书是一个词一个词地念出来的,我准备为它增加两个按钮,这样我们就可以实时地调整语音合成时的音高和语速。仍然是 RWTPageViewController.m,在nextSpeechIndex 属性后声明下列属性: @property (nonatomic, assign) float currentPitchMul...
分类:
移动开发 时间:
2014-07-12 18:20:20
阅读次数:
438
介绍
Android新闻客户端源码,功能上分为:新闻、关注、读报、微博。里面比较有特色的就是读报功能,真正安装报纸的排版进行读报,给人得感觉就像是在读真实的报纸。其实即使首页的动态云标签非常有特色,可以随机显示出最新新闻热词,用手滑动还能动态切换。此Demo即可作为学习使用也可作为商业使用,本站保留原创权利!
测试环境
[Code4Apk]编译测试,测试环境:eclipse 3.7 , an...
分类:
移动开发 时间:
2014-07-12 18:05:39
阅读次数:
289