小白學習Elasticsearch

 Elasticsearch核心概念 

 

與關係型數據庫對比
MYSQL(relational DB) Databases(數據庫) Tables(表) Rows(行) Columns(列)
Elasticsearch Indexes(索引) Types(類型) Documents(文檔) Fields(字段)

 

 創建索引庫 :

  請求方式:PUT    

  請求url:http://localhost:9200/blog1

 創建索引時配置映射 

 請求方式:POST  

 請求url:http://127.0.0.1:9200/blog1/hello/_mapping

 刪除索引 

 請求方式:DELETE    

 請求url:http://localhost:9200/blog1

 創建文檔  

 請求方式:POST  

 請求url:http://localhost:9200/blog1/article/1

 修改文檔 

 請求方式:POST  

 請求url:http://localhost:9200/blog1/article/1

 刪除文檔 

 請求方式:DELETE

 請求url:http://localhost:9200/blog1/article/1

 根據id查詢 

 請求方式:GET    

 請求url:http://localhost:9200/blog1/article/1

 querystring查詢 

  請求方式:POST

  請求url:http://localhost:9200/blog1/article/_search

  請求體:

  {   "query": {       "query_string": {           "default_field": "title",           "query": "搜索服務器"       }   } }

  term查詢 

  請求方式:POST

  請求url:http://localhost:9200/blog1/article/_search

  請求體:

  {   "query": {       "term": {           "title": "搜索"       }   } }

 集羣配置

#節點3的配置信息:

#集羣名稱,保證唯一 cluster.name: my-Elasticsearch

#節點名稱,必須不一樣 node.name: node-3

#必須爲本機的ip地址 network.host: 127.0.0.1

#服務端口號,在同一機器下必須不一樣 http.port: 9203

#集羣間通信端口號,在同一機器下必須不一樣 transport.tcp.port: 9303

#設置集羣自動發現機器ip集合 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]

springData與es整合

導入Spring Data ElasticSearch座標 

<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.itheima</groupId>
    <artifactId>itheima_elasticsearch_demo3</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>5.6.8</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>5.6.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.24</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.21</version>
2)創建applicationContext.xml配置文件,引入elasticsearch命 名空間
 
        
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.8.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.8.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
            <version>3.0.5.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch.plugin</groupId>
                    <artifactId>transport-netty4-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.0.4.RELEASE</version>
        </dependency>
    </dependencies>
</project>

創建applicationContext.xml配置文件,引入elasticsearch命 名空間
 

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"    xsi:schemaLocation="
3)編寫實體Article 
4)編寫Dao 
        http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/data/elasticsearch        http://www.springframework.org/schema/data/elasticsearch/springelasticsearch-1.0.xsd">
</beans>

  編寫實體Article 

  編寫Dao 

  配置applicationContext.xml 

   

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
7)配置實體 
基於spring data elasticsearch註解配置索引、映射和實體的關係
    xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"       xsi:schemaLocation="        http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/data/elasticsearch        http://www.springframework.org/schema/data/elasticsearch/springelasticsearch-1.0.xsd        ">
    <!-- 掃描Dao包,自動創建實例 -->
    <elasticsearch:repositories base-package="com.itheima.dao"/>
    <!-- 掃描Service包,創建Service的實體 -->
    <context:component-scan base-package="com.itheima.service"/>
    <!-- 配置elasticSearch的連接 -->
    <!-- 配置elasticSearch的連接 -->
    <elasticsearch:transport-client id="client" cluster-nodes="localhost:9300" cluster-name="elasticsearch"/>
    <!-- ElasticSearch模版對象 -->
    <bean id="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
        <constructor-arg name="client" ref="client"></constructor-arg>
    </bean>
</beans>

 配置實體 

 

  創建測試類SpringDataESTest 

   

高亮顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章