elasticsearch 집단 & & IK 분사기 & 동의어

4950 단어 elasticsearch
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz
클러스터 설치:
세 노드:master,slave1,slvae2
vi elasticsearch.yml
cluster.name: my-application
node.name:node-3(노드만의 명칭, 유일성 주의)
network.host: 192.168.137.117
http.port: 9200
discovery.zen.ping.unicast.hosts: ["master","slave1", "slave2"]
플러그인 설치
/home/qun/soft/elasticsearch-2.3.3/bin/plugin install analysis-icu
/home/qun/soft/elasticsearch-2.3.3/bin/plugin install mobz/elasticsearch-head
marvel:
/home/qun/soft/elasticsearch-2.3.3/bin/plugin install license
/home/qun/soft/elasticsearch-2.3.3/bin/plugin install marvel-agent
각 노드에서 다음을 수행합니다.
elasticsearch -d
사살 노드
kill -9 `ps -ef|grep elasticsearch|awk '{print $2}'`
부팅
/home/qun/soft/elasticsearch-2.3.3/bin/elasticsearch -d
클러스터 액세스:
http://master:9200/_plugin/head/
하나의 노드 (node) 는 하나의 Elasticsearch 실례이고, 하나의 집단 (cluster) 은 하나 이상의 노드로 구성되며, 그것들은 같은cluster를 가지고 있다.name,
그들은 협동하여 데이터와 부하를 공유한다.새로운 노드에 가입하거나 하나의 노드를 삭제하면 집단이 감지하고 데이터를 균형 있게 한다.
사용자로서 우리는 집단 중의 모든 노드와 통신할 수 있으며, 주 노드를 포함한다.모든 노드는 문서가 어느 노드에 존재하는지 알고 있으며, 요청을 상응하는 노드에 전달할 수 있다.
우리가 방문한 노드는 각 노드가 되돌아오는 데이터를 수집하고 마지막으로 클라이언트에게 함께 되돌아오는 것을 책임진다.이 모든 것은 Elasticsearch가 처리합니다.
클러스터 상태 가져오기
http://master:9200/_cluster/health/
{
"cluster_name": "my-application",
"status": "green",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 22,
"active_shards": 44,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}

조각 추가 설정
PUT/blogs/_settings
{
   "number_of_replicas": 2
}
색인 삭제
curl -XDELETE 'http://master:9200/.marvel-es-1-2016.05.29' 
curl -XDELETE 'http://master:9200/.marvel-es-data-1' 
IK 분사기 설치(https://github.com/medcl/elasticsearch-analysis-ik)
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/master.zip
mvn package
mkdir -p/home/qun/soft/elasticsearch-2.3.4/plugins/ik
cp  /home/qun/soft/elasticsearch-2.3.3/elasticsearch-analysis-ik-master/target/releases/elasticsearch-analysis-ik-1.9.3.zip/home/qun/soft/elasticsearch-2.3.3/plugins/ik
unzip elasticsearch-analysis-ik-1.9.3.zip
테스트 단어
/twitter/_analyze?analyzer=standard&pretty=true&text=저는 중국인입니다.
/twitter/_analyze?analyzer=ik&pretty=true&text=저는 중국인입니다.
사용자 정의 사전 추가:
elasticsearch-2.3.3/plugins/ik/config/IKAnalyzer.cfg.xml
밤: sougou 추가.dic, 번호 구분, 상대 경로, es 그룹 재시작
custom/mydict.dic;custom/single_word_low_freq.dic;custom/sougou.dic

properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

IK Analyzer  

custom/mydict.dic;custom/single_word_low_freq.dic;custom/sougou.dic
 
custom/ext_stopword.dic





동의어 설정
수정:elasticsearch-2.3.3/config/elasticsearch.yml, 끝에 다음과 같은 내용을 덧붙인다
index:
  analysis:
    analyzer:
      ik_syno:
          type: custom
          tokenizer: ik_max_word
          filter: [my_synonym_filter]
      ik_syno_smart:
          type: custom
          tokenizer: ik_smart
          filter: [my_synonym_filter]
    filter:
      my_synonym_filter:
          type: synonym
          synonyms_path: analysis/synonym.txt

사전 추가:
mkdir -p elasticsearch-2.3.3/config/analysis
vi elasticsearch-2.3.3/config/analysis/synonym.txt
ipod, i-pod, i pod
foozball , foosball
universe , cosmos
토마토
감자
테스트 동의어:
GET  /iktest/_analyze?analyzer=ik_syno_smart&pretty=true&text=감자 토마토
결과:
{
"tokens": [
{
"token": " ",
"start_offset": 0,
"end_offset": 3,
"type": "CN_WORD",
"position": 0
}
,
{
"token": " ",
"start_offset": 0,
"end_offset": 3,
"type": "SYNONYM",
"position": 0
}
,
{
"token": " ",
"start_offset": 3,
"end_offset": 6,
"type": "CN_WORD",
"position": 1
}
,
{
"token": " ",
"start_offset": 3,
"end_offset": 6,
"type": "SYNONYM",
"position": 1
}
]
}

좋은 웹페이지 즐겨찾기