Elasticsearch 중국어 동의어
8642 단어 elasticsearch분사ik-analyzer
환경 설명
$
로 시작하는 것은 셸 명령입니다. 그렇지 않으면 Kibana의 console 명령조작하다
동의어 사용 가능
synonym
매개 변수에 지정을 삽입하거나 집단의 모든 노드에 있는 동의어 파일에 존재해야 합니다.동의어 파일 경로synonyms_path
매개변수 지정, Elasticsearch 대비 절대 또는config
디렉토리입니다.다음은 동의어의 두 가지 설정 방법으로 소개한다.
동의어 파일 방식
동의어 파일 설정
# Elasticsearch ,
$ echo '"iPhone, => iPhone, ",
"2233,22 ,33 => bilibili,B "' > config/analysis/synonyms.txt
색인 만들기
PUT /goods2
{
"settings": {
"analysis": {
"filter": {
"my_synonym_filter": {
"type": "synonym",
"updateable": true,
"synonyms_path": "analysis/synonyms.txt"
}
},
"analyzer": {
"my_synonyms_analyzer": {
"tokenizer": "ik_smart",
"filter": [
"my_synonym_filter"
]
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_smart",
"search_analyzer": "my_synonyms_analyzer"
}
}
}
}
my_synonym_filter
사용자 정의
, my_synonyms_analyzer
는 사용자 정의 분석기로 후자가 전자를 포함하고 인용한 것을 알 수 있다.이 인덱스에서 사용자 정의된 어휘 과도기와 분석기도 현재 인덱스에서만 사용할 수 있습니다.
updateable
동적 업데이트 여부를 표시하려면 true
여야 동적 업데이트 동의어synonyms_path
동의어 파일의 위치 표시analysis.analyzer.tokenizer
이 분석기에서 ik_smart
분사기를 사용하도록 지시한다. 이 인덱스에서의 분석 체인은 => =>
, 즉 원시 텍스트는 먼저 분사의 결과를 거쳐
처리에 사용된다(이 인덱스의 역할은 동의어)이다.mappings.properties.title.search_analyzer
지시title
필드는 조회할 때 my_synonyms_analyzer
분석기를 사용하고 동리mappings.properties.title.analyzer
는 색인할 때 사용하는 분석기를 표시한다.분석 결과 보기
첫 줄 분사 효과
#
GET goods2/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "iphone"
}
GET goods2/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": " "
}
위의 두 문장의 결과는 같다
{
"tokens" : [
{
"token" : "iphone",
"start_offset" : 0,
"end_offset" : 6,
"type" : "ENGLISH",
"position" : 0
},
{
"token" : " ",
"start_offset" : 0,
"end_offset" : 6,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : " ",
"start_offset" : 0,
"end_offset" : 6,
"type" : "SYNONYM",
"position" : 1
}
]
}
두 번째 줄 분사의 효과
GET goods2/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "2233"
}
GET goods2/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "22 "
}
결과
{
"tokens" : [
{
"token" : "bilibili",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : "b",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : " ",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 1
}
]
}
동의어 변경 및 인덱스 업데이트
# Elasticsearch ,
# `iPhone, => iPhone, ` `iPhone, `
# `"` `,` ( ),
$ echo '"iPhone, ",
"2233,22 ,33 => bilibili,B , "' > config/analysis/synonyms.txt
#
POST /goods2/_reload_search_analyzers
동의어 변경 후 두 번째 줄 분사 효과
GET goods2/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "2233"
}
결과
{
"tokens" : [
{
"token" : "bilibili",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : "b",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : " ",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : " ",
"start_offset" : 0,
"end_offset" : 4,
"type" : "SYNONYM",
"position" : 1
}
]
}
내장 방식
색인 만들기
동의어 설정은
synonyms
속성에 있습니다.PUT /goods3
{
"settings": {
"analysis": {
"filter": {
"my_synonym_filter": {
"type": "synonym",
"synonyms": [
"iPhone, => iPhone, ",
"2233,22 ,33 => bilibili,B "
]
}
},
"analyzer": {
"my_synonyms_analyzer": {
"tokenizer": "ik_smart",
"filter": [
"my_synonym_filter"
]
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_smart",
"search_analyzer": "my_synonyms_analyzer"
}
}
}
}
분석 결과 보기
다음 결과는 동의어 파일 방식과 같습니다.
GET goods3/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "iphone"
}
GET goods3/_analyze
{
"analyzer": "my_synonyms_analyzer",
"text": "2233"
}
동의어 변경 및 인덱스 업데이트
#
POST /goods3/_close
PUT /goods3/_settings/
{
"analysis": {
"filter": {
"my_synonym_filter": {
"type": "synonym",
"synonyms": [
"iPhone, ",
"2233,22 ,33 => bilibili,B , "
]
}
}
}
}
#
POST /goods3/_open
조회 실천
색인
goods2
을 예로 들다#
POST /goods2/_doc/1
{
"title":"bilibili "
}
# `2233`
GET /goods2/_search
{
"query": {
"match": {
"title": "2233"
}
}
}
결과
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 0.2876821,
"hits" : [
{
"_index" : "goods2",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.2876821,
"_source" : {
"title" : "bilibili "
}
}
]
}
}
총결산
과
두 가지
색인을 닫지 않고 동적으로 동의어를 업데이트할 수 있음참고 자료
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.