• 搜索浅谈(Elasticsearch和Lucene4分享)


    刚刚过去的双11,真是给线下运营商好好上了一课。当今的互联网真是炙手可热,大家对互联网的热情是如此之高。相信电商之间的竞争将更加的激烈和残酷,不过,搜索,作为用户体验很重要的一点,各大电商也做的越来越好。但是,我相信软件只有开始,没有结束,搜索的业务也在不停的变化。搜索技术,你值得拥有。

    现在才开始谈搜索,真是汗颜。Elasticsearch的教程都写了一堆了,现在才开始谈。我们用搜索引擎,竟然没有用搜索引擎的搜索功能,真是可笑。

    好了,我写这篇博文,主要是想总结一下一般的搜索业务需求。不论你在哪个行业,这些搜索业务都是通用的。如果你也有这样的业务需求,恭喜你,你找到解决问题的途径了。

    先来看看你是否有以下问题。

    1、用户对检索结果不满意,希望查找的内容,没有排在前面。

    2、用户搜索“苹果”,希望看到的是苹果公司的产品,而不是真正的水果。

    3、用户希望你的软件能够容错,写个错别字,软件能够智能提示出来。

    4、用户希望搜索足够的快,就几百万的数据,别让我等得睡着了。

    。。。。。。

    用户就是上帝,上帝的需求也太多了吧。

    好吧,你没有遇见以上问题?你是做软件的吗?

    根据以上需求及搜索领域的需求,我总结出,一个完善的搜索引擎,应该至少提供以下功能(或者说能够解决以下的所有问题)。当然,想BAIDU,GOOGLE这些公司,搜索引擎都做的比我列的要好多了。

    汉语搜索业务总结

    1)全角转半角(全角数字转半角数字)。

    2)大写转小写(英文字母)

    3)错别字纠正

    4)自动补全或精简(比如输入北京市,自动缩减成北京,输入河北增加对河北省的补充,有待探索)

    5)繁体转简体

    6)拼音转汉字

    7)同义词转换

    8)加权处理(比如地名加权)

    9)完善的领域词库

    10)相关度排序(这个差点忘了)

    目前ES只做到了前两项,瞧见了吗?什么是开源软件,这么一大堆需求,开源软件只解决了三个问题。不过,你什么都没做,别人就已经替你扫清了很多障碍,还不行吗?

    文章来源:
  • 相关阅读:
    eclipse中不能找到dubbo.xsd
    CentOS7部署tomcat
    mybatis中的foreach
    mybatis中批量添加orcale
    mybatis中的like使用方式
    mybatis默认参数_parameter和_databaseId
    mybatis中的resultMap
    mybatis操作oracle,插入null值时报错 with jdbctype OTHER
    mybatis 中 #{} 和 ${} 的区别
    mybatis Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [0, 1, param1, param2]
  • 原文地址:https://www.cnblogs.com/tonychai/p/4554890.html
Copyright © 2020-2023  润新知