2017-10-17 13 views
1

우리는 elasticsearch에서 원래의 문자열과 동의어에 동등하게 점수를 매길 수 있습니까?동의어는 Elasticsearch에서 동일하게

예 : 나는 동의어 토큰 필터를 사용하여 인덱스를 생성

제한

PVT, 개인

회사 : I는 내 동의어 파일을 만들었습니다. 나는 "ABC 국제 Pvt 주식 회사"가 점수 0.57과 1.15로 첫 번째 문서와 두 번째 문서를 검색 할 때 지금

curl -XPOST "http://localhost:9200/test1/test?pretty" -d 
    '{ "entityName" : "ABC International Pvt Ltd"}' 

curl -XPOST "http://localhost:9200/test1/test?pretty" -d 
    '{ "entityName" : "ABC International Private Limited"}' 

: 그럼 두 문서를 색인.

동의어를 동일하게 처리 할 수있는 방법이 있습니까? 다음 설정을 사용

만든 인덱스 : 생성 인덱스가 일을했다 동안

curl -XPUT 'localhost:9200/test1?pretty' -H 'Content-Type: application/json' -d' 
{ 
    "settings" : { 
     "index" : { 
      "analysis":{ 
       "analyzer":{ 
        "my_analyzer":{ 
         "tokenizer":"standard", 
         "filter":["asciifolding", "standard", "lowercase", "my_metaphone", "synonym"] 
        } 
       }, 
       "filter":{ 
        "my_metaphone":{ 
         "type":"phonetic", 
         "encoder":"metaphone", 
         "replace":false 
        }, 
        "synonym" : { 
         "type" : "synonym", 
         "synonyms_path" : "synonyms.txt", 
         "ignore_case" : "true" 
        } 
       } 
      } 
     } 
    } 
}' 
+1

색인에 대한 설정 및 매핑 정의 방법을 보여줄 수 있습니까? – Val

+0

문서가 거의없는 다중 분할 색인을 사용할 수 있습니까? 그렇다면 단일 샤드 색인으로 다시 시도하십시오. 샤드 수준에서 채점이 발생하므로 많은 문서가 없으면 이상한 결과를 얻습니다. – dshockley

답변

1

매핑을 추가. 매핑이 없으면 동의어 토큰 필터가 적용되지 않습니다. 아래는 색인 생성에 사용한 명령입니다.

curl -XPUT 'localhost:9200/test1?pretty' -H 'Content-Type: application/json' -d' 
{ 
"settings" : { 
    "analysis":{ 
    "filter":{ 
     "my_metaphone":{ 
     "type":"phonetic", 
     "encoder":"metaphone", 
     "replace":false 
     }, 
     "synonym" : { 
     "type" : "synonym", 
     "synonyms_path" : "synonym.txt", 
     "ignore_case" : "true" 
     } 
    }, 
    "analyzer":{ 
     "my_analyzer":{ 
     "type":"custom", 
     "tokenizer":"standard", 
     "filter":["asciifolding", "standard", "lowercase", "my_metaphone", "synonym"] 
     } 
    } 
    } 
}, 
"mappings": { 
    "test": { 
    "properties": { 
     "text": { 
     "type": "text", 
     "analyzer": "my_analyzer", 
     "search_analyzer": "my_analyzer" 
     } 
    } 
    } 
} 
}'