凤凰山笔记

just a diary


  • 首页

  • 归档

  • 标签
凤凰山笔记

西游记古群整理版

发表于 2016-06-17

这周在杨老师的提点下,在孔子旧书网终于买到了西游记古群整理版。九五品,96年出版,02年印刷的,里面有的字是口口口,不过真的是一本满足。

这本书是我儿时的回忆。

说是儿时其实是初中,那时候的老师“很坏”,期末考试要在假期结束后进行,这样你暑假必须得复习才行。那个暑假,我在街头买了这本西游记(甚至记得那个小贩是席地而坐,在摊位摆了很多书),其实是盗版的,皮面很软,而且有很多字是口口口,现在想想可能盗版字库里面没有这几个字所以就那么印刷了。那个时候娱乐方式很少,我都没摸过电脑(后来成了天天敲代码…),这本书看的特别过瘾,因为里面有很多旁注,帮你理解某句话的深意,所以天天看,看完一遍之后又反复看某些章节…因为看的太多了,加上假期结束要考试,父亲见我不好好学习一气之前将书扯为两半…后来这本书就再也找不到了,一直都挺遗憾的。

那时候一直以为是古群加的旁注,所以默默记下了这个名字,其实都是李卓吾批评版。现在翻看这本买到的旧书也没有写李卓吾的名字,但是确实是李卓吾批评版的。大学毕业以后为了弥补遗憾从当当网也买过李卓吾批评版的西游记上下册,而且还有配套插图,但是总觉得批注变少了,或者被删了与记忆不符?所以深觉无爱。有了这本之后都不重要了,因为对逝去的快乐有了那么一点祭奠。

这些年越来越不开心,做了些微小的工作,也没有赚到钱。正如西游记开篇所说:欲知造化会元功,须看《西游释厄传》。旁批:释厄二字着眼,不能释厄,不如不读《西游》



口口处为嚼舌

凤凰山笔记

使用solr4.0+tika索引文件夹下所有文件

发表于 2016-06-08 | 分类于 技术

配合tika(一个开源的文档分析器,你就可以从各种格式的文件.doc,.pdf中提取文本),solr能够爬取和索引服务器文件夹下的所有文件,而且整合的成本很低。Apache tika是个独立的项目,你可以从这里找到所有tika的资料和它支持的文件格式,你可以直接将它用在你的java或者.net的项目之中。

首先你需要从Solr4.0的dist文件夹下复制所有你需要的jar包到你的core的lib目录下,我强烈建议你将contrib\extraction\lib下所有的文件复制到你的core下面,这样你可以随意使用solr自带的 Data Import Handler,并且避免缺少jar包的各种错误。

以下为一个文档导入的配置文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<dataConfig>  
<dataSource type="BinFileDataSource" />
<document>
<entity name="files" dataSource="null" rootEntity="false"
processor="FileListEntityProcessor"
baseDir="c:/temp/docs" fileName=".*\.(doc)|(pdf)|(docx)"
onError="skip"
recursive="true">
<field column="fileAbsolutePath" name="id" />
<field column="fileSize" name="size" />
<field column="fileLastModified" name="lastModified" />

<entity
name="documentImport"
processor="TikaEntityProcessor"
url="${files.fileAbsolutePath}"
format="text">
<field column="file" name="fileName"/>
<field column="Author" name="author" meta="true"/>
<field column="title" name="title" meta="true"/>
<field column="text" name="text"/>

</entity>
</entity>
</document>
</dataConfig>

这是最简单的一个导入示例,但是有几个关键点你需要明白:

在我所有的schema.xml中都有一个名字叫id的field,它能帮助你唯一确认一个文件,然后它也能告诉solr你这个文件的索引是要被插入还是更新。然后就是用了一个叫做BinFiledataSource的数据源,这个东西可以很容易的抓取到文件夹下文档的一些标准值,如文档名称、最后修改日期,但是它并不能获取文档里面的文本内容。这个叫BinFiledataSource的数据源有个文档实例叫做“files”,并且有个rootEntity=”false”,这个原因是它并非真正的根节点实例,而根节点实例才是用来对文档进行索引的,其他的属性仅仅简单的说明哪个文件夹要去被抓取,文档的扩展名等,但是这些都可以被solr进行索引的。

所以我决定在实例中使用以下3个属性加入索引:
1.fileAbsolutePath: 这个可以用来作为文档的唯一索引
2.fileSize: 文档的大小
3.fileLastModified: 文档的最后修改时间

这三个字段之后有个叫做documentImport的实体,使用的处理器为TikaEntityProcessor,这个处理器可以帮助你抽取文档中的文本和metadata(作者、标题等这些属性),下面列一下我想存在索引里面的字段:

1.file:文件名称,与上面写的fileAbsolutePath不同
2.Autor、Title:都是文档的meta属性
3.text:文档的文本内容

当然不要忘了schema.xml也应该有这些字段的配置:

1
2
3
4
5
6
7
8
9
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
<field name="fileName" type="string" indexed="true" stored="true" />
<field name="author" type="string" indexed="true" stored="true" />
<field name="title" type="string" indexed="true" stored="true" />

<field name="size" type="plong" indexed="true" stored="true" />
<field name="lastModified" type="pdate" indexed="true" stored="true" />

<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

这样你通过solr4.0自带的UI中进行dataimport即可,具体搜索测试这里不作赘述。

凤凰山笔记

solr起步

发表于 2016-06-05 | 分类于 技术

想帮朋友弄个文档服务器的全文搜索,于是这周开始研究solr,过程依旧有点坎坷。

首先网上的中文资料很少,找到的大部分没有写清楚。另外solr版本变化很大从3.5一直到6.0的资料都有但是大部分仅仅局限于部署。所以部署完solr之后很长一段时间都没有弄明白几个配置文件应该怎么配置,以及应该怎样集成tika进行doc pdf文件的索引…

于是抛弃了这种寄托希望于google搜索和中文博主分享的想法,拿起一本英文版的solr in action来看,到昨天为止终于成功了,这里还需要感谢歪国人的两篇关于solr和tika集成的博文,细细看完竟然茅塞顿开。

链接:
http://www.codewrecks.com/blog/index.php/2013/05/27/hilight-matched-text-inside-documents-indexed-with-solr-plus-tika/

附上我做的粗糙搜索网页效果:

凤凰山笔记

不作恶

发表于 2016-05-27 | 分类于 记录

Google核心价值观的第六点:“做正确的事:不恶。我们所做的一切都诚实和正直。我们的经营做法无可非议。我们赚钱做好事。“做正确的事:不恶”英语原文是:Do the right thing:don’t be evil.

现在想到google就会谈论魏则西事件。当技术公司走向商业之路之后难免迫于有权势的客户或者极大的商业利益修改一些东西,或者开发不愿意看到的东西,渐渐的就开始作恶了。再有就是我相信每个人都有类似的经历,幻想去造成破坏,而且没有利益驱使。

所以像google这样有个基本准则限定自己的行为很关键很有意义,至少很有约束力。因为evil如何定义还靠larry page去确定。

最近在看凯文·凯利的《必然》,写的很有水平,我仅仅靠站公交和上厕所的时间就已看完大半,可见这本书的吸引力。里面有很多黑当前社会主义政体的言论,不知道为什么可以在大陆发行,可能那些人don’t care.

凤凰山笔记

jfinal和mybatis集成的问题

发表于 2016-05-20 | 分类于 技术

做了jfinal集成mybatis的工作,发现了这么几个方面的问题:

1、虽然研制了类似spring+mybatis集成环境下SqlSessionTemplate的一个工具类,即:使用中不必像原始mybatis那杨显式开关SqlSession,同样也可以用这个自由调用mapper接口完成数据库操作。

但是总觉得不如mybaits-spring里面推宠的那种接口类AutoWired一下,就可以直接增删查改了,类似这样:

1
2
3
4
5
6
7
8
9
10
11
@Autowired
NoticeMapper noticeMapper ;

/**
* 根据id查询一条数据
* @param id
* @return
*/
public Notice findOneByid(String id){
return noticeMapper.findOneByid(id);
}

2、虽然实现了自动扫描mapper配置文件的功能。但是mybaits-spring里面那种自动扫描mapper接口的方式无法实现。

3、要实现上面说的两点务必要使用依赖注入这种方式了,也就是使用spring了。虽然jfinal也提供了集成spring的方式,但是难道要这样 jfinal集成spring->用spring去集成mybatis?这种玩法就不如直接springmvc和mybatis直接集成了~~
当时做jfinal集成的目的就是嫌弃spring过多莫名其妙的配置文件的玩法,同时不喜欢jfinal的ActiveRecord的玩法,更多无脑的偏爱mybatis吧

阅读全文 »
凤凰山笔记

Chuck is the God.

发表于 2016-05-06 | 分类于 美剧

好久没看美剧,昨天看了最新更新的supernatural,上帝终于出现了,而且是Chuck。虽然网友早就已经推测到了,但是整整十一季,官方终于正式承认了!

Supernatural.S11E20 mark.

1…8910…27
cloudroc

cloudroc

某种原因留言关闭,如有问题请微信发给我

158 日志
33 分类
115 标签
RSS
GitHub 知乎
Links
  • 开发者头条
  • 网址导航
  • 少侠请留步
  • ghostry
  • SuperMan
  • jack
  • 惶心
© 2013 - 2018 cloudroc
由 Hexo 强力驱动
Hosted by Coding Pages