早几天写的文章那里,对域名的搜索那里 http://kernaling-wong.iteye.com/blog/2212191 ,这几天经过实践,有了新的认识所以想补充一下.
简单说说上个文章表达的,其实就是对域名进行搜索,比如输入it.com ,则不希望出现类似 it.com.cn 这样的域名, 只会搜索出 xxx.it.com 这样的域名.
我上个文章说 把域名进行反转,比如索引 www.it.com 则索引成 moc.ti.www (索引按 solr 说法,不是 onText 而是 string 类型, 按 lucene 说法则是 stringField 而不是 textField 了.) ,然后搜索也反转成这样,最后通过前缀匹配. 则可以满足其要求.
但最近这几天实践,发现这样有一个严重的问题.比如现在有 www.hao123.com 这一个域名, 但我搜索 123.com 其实一样能搜索出来的. 而自己细想了一下,这个的确也是能搜索出来.因为只是匹配而已,并没有识别出是否整体地被匹配了.
所以其实我上个文章写的那种方式就是出现这一个问题了.我后来试想了一个办法.既然可以前缀匹配了,那是不是可以把这一个域名的字段变成 onText 然后按 term 这样子位置整体前缀匹配呢?
1 . www.hao123.com =反转域名后=> moc.321oah.www 然后按 term分词后变成 moc , 321oah ,
2 . 然后我想通过前缀匹配 + 搜索短语,类似搜索语法是 : "moc.321oah.www"*
3. 经过实验和测试,这种方式不行,看来前缀匹配只能匹配每一个 term 但不按类似短语这样子匹配起来.
这几天,一直都忙着这一个事情,又看源码,又找相关资料,这种方式,最后还是不行的.
最后,我的上司建议我通过一种比较取巧的办法,因为现在数据主要还是国内的数据,域名基本上就是 .com.cn , org.cn , net.cn , com.hk 之类几种域名,所以我们在分词那里做一个改动,就是把这类域名的,就作为一个词了 ,即 www.it.com.cn 分词后变成 www , it , com.cn 就这三个,这样就能解决上面的问题了.,而且改动也不大. 在索引的时候,对新的数据,另外开了新一个索引字段,然后 使用了新的分词,旧的字段依然存在,也使用以前 的分词方式,这样就能保证了旧的数据也能搜索出来,新的数据也可以搜索出来了,兼容了新旧数据.
经过前几天, 觉得自己还要非常多地方要学习. 加油吧.
相关推荐
资源名称:相关性搜索 利用Solr与Elasticsearch创建智能应用内容简介:《相关性搜索:利用Solr与Elasticsearch创建智能应用》揭开了相关性搜索的神秘面纱,告诉大家如何将 Elasticsearch与 Solr这样的搜索引擎作为可...
本书揭开了相关性搜索的神秘面纱,告诉大家如何将Elasticsearch 或Solr 这样的搜索引擎作为可编程的相关性框架,从而表达业务排名规则。从这本书中你可学会如何结合各种外部数据源、分类方法以及文本分析手段对...
solr_3.5_配置及应用
Solr 3.5开发应用教程,偏实战
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 定制索引...
Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业...
solr 入门 及中文分词器安装与应用
初学者学习solr时,可以借助此文档入门,学习solr
开源企业搜索引擎SOLR的_应用教程
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
基于Solr3.5的最新开发应用指导,文字加代码说明模式(Schedule.xml)、配置(solrconfig.xml)、索引,搜索等详细开发内容。
solr
solr
Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述所有 Field 及其内容的 XML 文档就...
这是我整理的关于Solr的技术培训资料,它包含了关于Solr的基础知识和高级应用,例如分组、分词器、权重等问题,因为本人在学习solr时发现资源太少,所以整理了一些,当然由于本人技术不足,难免知识点不够全面,有...
Solr是一个基于Lucene...通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用 Solr 创建的索引。
某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、 Luke)也可以使用 Solr 创建的索引 Solr 的特性包括: 高级的全文搜索功能 专为高通量...