• 搜索引擎 ElasticSearch 之 步步为营1 【环境搭建&初识ElasticSearch】


     1.下载ElasticSearch 

      a.下载Java环境JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

      b.下载ElasticSearch压缩包:http://www.elasticsearch.org/overview/elkdownloads/

     2.安装ElasticSearch 

      首先安装好Java环境,并检查 “我的电脑属性”-->“高级系统设置”-->“高级”-->“环境变量”,

      设置环境变量JAVA_HOME为安装的Java目录。(不要问我为什么要装JDK,因为这玩意是用java写的)

      而后,解压ElasticSearch的压缩包,双击执行 bin 目录下的elasticsearch.bat。 

      OK,打开 http://localhost:9200 将看到如下返回信息:(如果没跑起来,请对照上面检查Java环境)

     1 {
     2     "status": 200,
     3     "name": "Krystalin",
     4     "cluster_name": "elasticsearch",
     5     "version": {
     6         "number": "1.4.1",
     7         "build_hash": "89d3241d670db65f994242c8e8383b169779e2d4",
     8         "build_timestamp": "2014-11-26T15:49:29Z",
     9         "build_snapshot": false,
    10         "lucene_version": "4.10.2"
    11     },
    12     "tagline": "You Know, for Search"
    13 }

      

      返回了一堆东西,不知道什么意思没关系,我们后面会慢慢了解。

     3.尝试搜索

      既然现在搜索引擎已经运行起来了,我们就来调戏一下Ta吧。

      ElasticSearch提供了一整套REST风格的API,可供建立索引、Mapping、搜索。要使用ElasticSearch提供的API,首先保证你有一个Http发包工具(例如Fiddler),而后要有一些数据供搜索(哥都整理好了,下载吧 jokeData.rar

    REST 即“表述性状态转移”,是一种面向资源的架构。
    REST 将一切看作“资源”,且每个资源都有唯一确定的Uri地址。
    REST 提倡使用Http动词:GET、POST、PUT、DELETE 对资源进行CRUD。

      第一步:建立索引 

      打开Fiddler中的“Composer”标签,

      选择POST请求方式,地址栏填入 http://localhost:9200/joke/normal/_bulk ,在Body中添加文件中的内容。

      返回200,执行成功。

      

     

      第二步:搜索

      在浏览器中输入(或者在Fiddler中使用GET请求):http://localhost:9200/joke/normal/_search?q=今天   

      返回结果如下:  

      
    {
        "took": 35,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "failed": 0
        },
        "hits": {
            "total": 76,
            "max_score": 0.5989393,
            "hits": [
                {
                    "_index": "joke",
                    "_type": "normal",
                    "_id": "9",
                    "_score": 0.5989393,
                    "_source": {
                        "Id": 9,
                        "Data": "★ 累{br}一个男人对一个女人说:“你的腿今天一定很累吧?”{br}女人:“为什么”?{br}男人:“因为,你今天在我的脑子里跑了一天能不累吗”?"
                    }
                },
                {
                    "_index": "joke",
                    "_type": "normal",
                    "_id": "153",
                    "_score": 0.42523623,
                    "_source": {
                        "Id": 153,
                        "Data": "★ 他想干什么{br}两对夫妻打了好几个小时的桥牌。这时,其中一个男人站起身去了卫生间。和他打对家的妻子叹了口气,说:“今天晚上,我这还是第一次明白他想干什么。”"
    .........
    View Code

     4.小结

      至此,我们的搜索引擎已经可以按照要求搜索出数据,但距离可以使用还有一段距离。

      如:分词不是很准确,如何查询分页的下一页......

      我们将在后文中解决以上问题,并学习更多的内容。

      【搜索引擎 ElasticSearch 之 步步为营 【主目录】】

  • 相关阅读:
    一次郁闷的项目部署经历
    一道面试题的求解
    一次惨痛的教训
    小地方,大郁闷001
    WPF相对资源的访问
    VS2008安装时提示磁盘空间不够的解决办法
    WPFSlider 控件的使用
    关于asp.net大文件上传和进度条实现的学习(1)
    DataList的一次分页困惑
    关于android的XML的解析
  • 原文地址:https://www.cnblogs.com/sweetWinne/p/4224039.html
Copyright © 2020-2023  润新知