zoukankan      html  css  js  c++  java
  • Elasticsearch及java客户端jest使用

    本文使用Github中的Elasticsearch-rtf,已经集成了众多的插件,例如必须使用的中文分词等,可以简单的通过配置来启用中文分词。本文主要分为以下几部分:

    1、配置和启用中文分词;

    2、定义索引的mapping

    3、java客户端jest创建和检索索引

    4、高亮检索结果

    5、集群配置

    工具:

    由于Elasticsearch完全REST风格,支持json进行交互,简单的curl工具就可以完成很多功能,本文中也有部分操作会直接使用curl。window环境下建议下载一个可执行的curl.exe,找一个目录,然后将目录放到path环境变量中,则curl就可以直接使用了。

    配置

    定义Mapping

    使用json格式的mapping,直接通过image添加到test-index索引中。当然,在此之前得先增加一个叫test-index的索引( curl –XPUT http://localhost:9200/test-index,一个简单的命令就可以完成这个事情了。)

    {
        "huangke": {
            "mappings": {
                "index": {
                    "properties": {
                        "alttitle": {
                            "index": "analyzed",
                            "type": "string"
                        },
                        "contens": {
                            "properties": {
                                "pageno": {
                                    "type": "long"
                                },
                                "pagetext": {
                                    "index": "analyzed",
                                    "type": "string"
                                }
                            }
                        },
                        "desc": {
                            "index": "analyzed",
                            "type": "string"
                        },
                        "drmi": {
                            "index": "not_analyzed",
                            "type": "string"
                        },
                        "isbn": {
                            "index": "not_analyzed",
                            "type": "string"
                        },
                        "metadatatype": {
                            "index": "not_analyzed",
                            "type": "string"
                        },
                        "metaid": {
                            "index": "not_analyzed",
                            "type": "string"
                        },
                        "publisher": {
                            "index": "analyzed",
                            "type": "string"
                        },
                        "title": {
                            "index": "analyzed",
                            "type": "string"
                        }
                    }
                }
            }
        }
    }

    JEST使用

     

    高亮检索结果

    集群配置

    cluster.name一样,则表示是一个集群,es默认会根据名字自动发现node节点的机器,并加入到集群中进行管理。通过如下简单的配置,就可以将es的集群搭建好:

    master机器:

    cluster.name: "logstash_ela"
    node.name: "elasticsearch_node0"
    node.master: true
    node.data: true

    node节点机器:node.master配置为false表示此节点就只会用来存储数据,在任何情况下都不会作为master节点(内置选举啥机制等,配置为true的则在某些情况下还是有可能会作为master节点存在的)。

    cluster.name: "logstash_ela"
    node.name: "elasticsearch_node1"
    node.master: false
    node.data: true
  • 相关阅读:
    17.1.2?Replication Formats 复制格式:
    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment 引入额外的Slaves 到一个存在的复制
    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment 引入额外的Slaves 到一个存在的复制
    mysql读写分离
    mysql读写分离
    curl 返回响应头
    01_什么是Elasticsearch
    01_什么是Elasticsearch
    perl 自动发产品
    Jzoj1164求和
  • 原文地址:https://www.cnblogs.com/bluesky4485/p/4170745.html
Copyright © 2011-2022 走看看