`
kernaling.wong
  • 浏览: 77884 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

solr 对网站域名的搜索技巧应用

    博客分类:
  • java
 
阅读更多

      菜鸟级文章,高手请绕道.

      基本事情背景是这样, 在公司的抓取回来的数据中,都有大量的来源不同网站的域名.这时用户可能只对某几个来源网站感兴趣,或者对某几个来源网站不感兴趣之类,以前的版本中,只对网站域名做了非常简单的分词,基本上可以认为是对 www.it.com.cn 之类的网站,通过 "." 把域名拆开,然后索引.这样用户在搜索某几个域名的网站,直接就可以匹配到了.

    但这样形式在最近用户提出的问题中需要处理了. 原来当时我们理解用户的要求有点偏差,其中主要是集中两个问题

 

    1.  比如用户搜索来源于 www.it.com 这个网站, 但搜索出来 www.it.com.cn 这样的网站了. 但用户并不希望它出现.

     2.  另外有一些来源网站有N多个二级域名例如 iteye.com 这一个网站,都以用户名作为二级域名了, 这样用户在希望关注 iteye.com 的文章的时候,自然只输入搜索域名 "iteye.com" 了,但却出现了非常多其他第三网站如: iteye.abc.com ,  iteye.archve.com 之类的非法的网站.

 

     上面说了这么多,其实根本就是出现在分词那里,因为对了域名做了普通的 term 的分词,所以这样子搜索其实根本不能保证哪个关键字出现的前后次序. 最好最理想的办法就是把输入域名,通过从最后匹配上来,

     简单来说就是

                输入   iteye.com  那么匹配中,从最后面开始往前匹配. 这样肯定就能保证到域名的匹配了.

       但,问题就是 ,  lucene 或 solr 似乎都没有这样子的匹配方法,前缀匹配倒有一个 prefixQuery 之类的.

      然后我也尝试用了 正则匹配之类的 , 还有那个 wildCard 也用了一下,但似乎还不能满足这一个需求.

 

      最后,其实可以反过来想.  直接使用了 prefixQuery 就可以了 , 前提条件就是把那个 domain 那个索引类型改了一下,从之前的 onText 改成 string 类型,同时把输入的域名进行反转,这样就可以使用了

     具体如下:

         1.   在索引提交索引的过程中, 比如 本来要索引的是 baidu.com  则转换一下,变成 moc.udiab .

               转换代码如下:

    

     2.  其次,  每次当用户输入的索引,也进行这一个域名反转的处理. 使用前缀搜索处理则可. 可以完美匹配出域名,二级域名,指定搜索某一个域名之类的操作.如果在 solr 中,如果只要 baidu.com 这一个网站的的话,则可以搜索  domain:moc.udiab*  这样子则可 ,这样的小技巧应用非常实在.

 

       结语:  从上一遍文章到现在已经隔了快1年没写文章了,一直都心里打算着要写点技术文章之类的,很希望一直能深深钻研技术类, 当然是往更底层,更核心的方向去向,比如大数据的hadoop,hbase 中,在现在工作上的应用使用hadoop , hbase 之类,其实越用越感觉自己只是 hadoop 的一个使用者而已,就算优化得非常好,也仅仅是一个高级的使用者而已,因为里面的核心比如 存储形式,并发运算等核心都是别人的, 自己用得再好,也只是一个使用者. 要打破这些,唯有自己学习里面的核心比如算法还有 hdfs 之类的存储形式,能有自己的实现方式才是根本.

      

  • 大小: 5.2 KB
分享到:
评论

相关推荐

    相关性搜索利用Solr与Elasticsearch创建智能应用

    资源名称:相关性搜索 利用Solr与Elasticsearch创建智能应用内容简介:《相关性搜索:利用Solr与Elasticsearch创建智能应用》揭开了相关性搜索的神秘面纱,告诉大家如何将 Elasticsearch与 Solr这样的搜索引擎作为可...

    相关性搜索 利用Solr与Elasticsearch创建智能应用

    本书揭开了相关性搜索的神秘面纱,告诉大家如何将Elasticsearch 或Solr 这样的搜索引擎作为可编程的相关性框架,从而表达业务排名规则。从这本书中你可学会如何结合各种外部数据源、分类方法以及文本分析手段对...

    Solr实现电扇站内搜索

    Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索

    solr_3.5_配置及应用

    solr_3.5_配置及应用

    企业级搜索应用服务器solr

    solr 入门 及中文分词器安装与应用

    SOLR的应用教程

    3.1.1 Solr的应用模式 29 3.1.2 SOLR的使用过程说明 30 3.2 一个简单的例子 30 3.2.1 Solr Schema 设计 30 3.2.2 构建索引 30 3.2.3 搜索测试 31 3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引...

    solr5.4.0完整包

    Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业...

    开源企业搜索引擎SOLR的_应用教程.pdf

    开源企业搜索引擎SOLR的_应用教程

    solr开发应用教程

    Solr 3.5开发应用教程,偏实战

    solr 企业搜索引擎教程

    某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、 Luke)也可以使用 Solr 创建的索引 Solr 的特性包括:  高级的全文搜索功能  专为高通量...

    基于Solr的分布式实时搜索模型研究与实现

    基于Solr的分布式实时搜索模型研究与实现

    SOLR搭建企业级搜索引擎

    SOLR搭建企业级搜索引擎 很详细 很不错哦

    ES和solr搜索方案对比

    ES和solr都是基于Lucence的搜索框架,文档比较2中方案适合的不同场景和优劣

    开源企业搜索引擎SOLR的应用教程

    Solr是一个基于Lucene...通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用 Solr 创建的索引。

    solr5.5.4全文搜索服务器

    Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是...

    企业级搜索引擎solr教程

    tomcat7下实现solr4.3的部署与配置,配置中文服务器。通过solrj实现索引的创建,修改,删除,查询。并实现httpclienct创建、修改索引,检索信息等。

    solr配置搜索引擎平台

    solr配置搜索引擎平台 一、 SOLR搭建企业搜索平台 二.... 三,,,,

Global site tag (gtag.js) - Google Analytics