6. elasticsearch를 사용하여 색인 만들기

8767 단어 ElasticSearch
(1) 참고자료 색인에 대한 모든 상세한 정보는 ElasticSearch 입문 제3편 참조: 색인
   위의 자료는elasticsearch2를 바탕으로 한다.x, 필자는 elasticsearch6를 바탕으로 한다.x, 여기서 간단히 말씀드릴게요.x 업데이트 장소:
  • 필드 형식 String이 없습니다. text와 keyword 두 가지 형식으로 대체됩니다.
  • text: 분사.예를 들어'삼국연의'가 텍스트 형식으로 색인되면'삼국'과'연역'으로 구분되고'삼국','연역'과'삼국연의'를 통해 이 필드를 조회할 수 있다.
  • keyword: 단어를 가리지 않습니다.예를 들어'삼국연의'는 키워드 형식으로 인덱스되면'삼국연의'를 통해서만 이 필드를 조회할 수 있고'삼국'과'연역'은 이 필드를 조회할 수 없다.


  • 그리고 제가 정리해 볼게요. 평소에 사용할 때 주의하세요.
  • 전역 프로필elasticsearch.yml에서 자동 인덱스 만들기 비활성화: action.auto_create_index:false
  • index: 이 속성 제어 필드가 인덱스에 편입되었는지 검색됩니다. 이 속성은 모두 세 가지 유효한 값이 있습니다. analyzed、no not_analyzed
  • store: 필드의 원래 값을 인덱스에 쓸지 여부를 지정합니다. 기본값은 no
  • 입니다.
  • analyzer: 이 속성은 색인과 검색을 위한 분석기 이름을 정의합니다. 기본값은 전역적으로 정의된 분석기 이름입니다. 이 속성은 설정 결점(settings)에서 사용자 정의된 분석기를 참조할 수 있습니다.

  • 사례 1:
    "settings":{
        "number_of_shards": "6",
        "number_of_replicas": "1",  
         //  ik    
        "analysis":{   
          "analyzer":{
            "ik":{
              "tokenizer":"ik_max_word"
            }
          }
        }
      },
    

    사례 2:
    {  
       "settings":{  
          "index":{  
             "analysis":{  
                "analyzer":{  
                   "myanalyzer_name":{  
                      "tokenizer":"standard",
                      "filter":[  
                         "asciifolding",
                         "lowercase",
                         "ourEnglishFilter"
                      ]
                   }
                },
                "filter":{  
                   "ourEnglishFilter":{  
                      "type":"kstem"
                   }
                }
             }
          }
       }
    }
    
  • search_analyzer: 이 속성 정의 분석기는 특정 필드에 보내는 검색 문자열을 처리하는 데 사용됩니다.

  • 참고: analyzer 및 search_analyzer의 차이점: analyzer: 이 주요 인덱스를 할 때 분사search_analyzer: 이 주요 조회 시 분사
    색인 구성 사례:
    PUT blog
    {  
       "settings":{  
          "number_of_shards":5,
          "number_of_replicas":0
       },
       "mappings":{  
          "articles":{  
             "_routing":{  
                "required":false
             },
             "_all":{  
                "enabled":false
             },
             "_source":{  
                "enabled":true
             },
             "dynamic_date_formats":[  
                "yyyy-MM-dd",
                "yyyyMMdd"
             ],
             "dynamic":"false",
             "properties":{  
                "articleid":{  
                   "type":"long",
                   "store":true,
                   "index":"not_analyzed",
                   "doc_values":true,
                   "ignore_malformed":true,
                   "include_in_all":true,
                   "null_value":0,
                   "precision_step":16
                },
                "title":{  
                   "type":"string",
                   "store":true,
                   "index":"analyzed",
                   "doc_values":false,
                   "ignore_above":0,
                   "include_in_all":true,
                   "index_options":"positions",
                   "position_increment_gap":100,
                   "fields":{  
                      "title":{  
                         "type":"string",
                         "store":true,
                         "index":"not_analyzed",
                         "doc_values":true,
                         "ignore_above":0,
                         "include_in_all":false,
                         "index_options":"docs",
                         "position_increment_gap":100
                      }
                   }
                },
                "author":{  
                   "type":"string",
                   "store":true,
                   "index":"analyzed",
                   "doc_values":false,
                   "ignore_above":0,
                   "include_in_all":true,
                   "index_options":"positions",
                   "position_increment_gap":100,
                   "fields":{  
                      "author":{  
                         "type":"string",
                         "index":"not_analyzed",
                         "include_in_all":false,
                         "doc_values":true
                      }
                   }
                },
                "content":{  
                   "type":"string",
                   "store":true,
                   "index":"analyzed",
                   "doc_values":false,
                   "ignore_above":0,
                   "include_in_all":false,
                   "index_options":"positions",
                   "position_increment_gap":100
                },
                "postat":{  
                   "type":"date",
                   "store":true,
                   "doc_values":true,
                   "format":[  
                      "yyyy-MM-dd",
                      "yyyyMMdd"
                   ],
                   "index":"not_analyzed",
                   "ignore_malformed":true,
                   "include_in_all":true,
                   "null_value":"2000-01-01",
                   "precision_step":16
                }
             }
          }
       }
    }
    

    좋은 웹페이지 즐겨찾기