温州在线手机站

温州 > 科技 > 互联网 > 网站建设 > 搜索优化 >

部署自己的搜索引擎实现关键词优化

经常看到朋友们讨论关键词优化,也见过朋友费心地“积累”关键词。这里为大家分享一个用自架搜索引擎来做关键词优化的经验。

  声明:此经验适用于有一定技术能力的站,要求服务器有java运行环境,如JDK,TOMCAT。如果你不具备这些条件的话,也可以以手工的方式变相实现,但比较费时间。

  这 个经验是被javaeye论坛启发的。在网上搜技术资料时,这个论坛出现的机率极高。点进去看,大多是一些文章列表。用文章列表的形式去迎合关键词,匹配 的机率当然就大了。而你的文章当然不同于硬堆出来的关键词,搜索引擎看到这么多匹配的正规内容,自然会喜欢。如果从用户体验上来讲,你把自己资料库中最相 关的东西展示出来给用户看,自然也是最佳用户体验,比起让用户找类目,一页一页地翻,肯定是强百倍了。

  道理很简单,我重点讲解怎么去实现。我的实现方案用到了开源搜索引擎solr和开源的中文分词系统paoding(国人贡献的庖丁解牛中文分词软件)。

  solr是基于开源索引lucene的,这两者皆是apache开源组织推出的,官网地址为:

  lucene: http://lucene.apache.org/

  solr: http://lucene.apache.org/solr/ (solr是lucene下的子项目,solr可读作“扫啦”)

  顺便也提一下lucene下的另一子项目nutch,这是一个搜索引擎爬虫,可以爬intranet或internet,很酷吧!如果你想玩高级的采集,不防学一学,当然要有java编程功底。

  转入正题,先说lucene的作用。lucene是一个索引系统,它可以对内容进行关键词索引,这有点像数据库,区别在于后者不仅要索引,还要维护更多的其 它内容,比如数据关系。但后者在全文检索上功能比较差,高级的数据库系统才支持全文检索,而像被广大使用的mysql数据库,则没有这项功能。 lucene则不一样,它的意义不在于存储和维护数据,它生来就是做索引的,所以它会对文本内容进行分词索引。打个比方,如果你的文本内容里有 “hello world\"一句话,那么它会分析出hello,world两个词,并会把此条内容作为一个索引条目添加到hello和world两个关键词索引目录中。 这是不同于SQL里的like查询的,数据库没有对字段内容进行分析,只是针对字段做了索引,当你要like查询字段内空时,它实际上是一条一条的做字符串匹配,这样效率很低下,无法承受重压。所以很少有人用like做大业务量的搜索。

  有lucene了,solr是干什么的?lucene 只提供了编程接口,而solr是个开箱即用的东西。请参考官方的说明,相信你很快就可以架起一个solr搜索服务。solr所需要配置的只有一个地方,就是schema.xml,你要在这里配上你的CMS系统最终文章所用到的字段,比如作者,分类,标题,内容等等,同时要配好这些字段的类型。不同的字段类 型会影响其搜索表现。solr架好了,如何使用呢?它提供了两个接口(简单吧,只有两个接口),一个是update,一个是select,分别对应更新与 查询(删除属于更新)。update的具体实现就是向基指定URL POST一个XML文档。关键部分格式大致如下: (责任编辑:温州视线老金)