우리는 탄성 검색에서 구문을 일치시키려는 유스 케이스를 가지고 있지만, 구문 쿼리 이외에 부분 구문도 검색하려고합니다.탄성 검색에서 확장 가능한 접두사와 접미사를 사용하여 구문을 일치시키는 방법은 무엇입니까?
예 :
검색 구문 :이 문서에 포함 된 문구에 일치해야합니다 "요 lcome" "당신을 환영합니다"또는 "당신을 lcome"또는 "요 환영"또는 :
"당신을 환영합니다"
는 "당신이 오신 것을 환영합니다"
"우리는 당신을 환영합니다" "우리는 환영 당신에게"
즉, 구문을 부분 부분 문자열로 사용하고 접두어와 접미사를 특정 구성 가능한 길이로 확장하여 결과를 반환하는 추가 된 기능으로 구문 쿼리를 수행하여 단어의 순서를 유지하려고합니다. 탄성 있음 나는 'match_phrase_prefix'와 비슷한 것을 발견했지만 특정 접두어로 시작하는 구와 일치합니다.
예 반환 결과 D 접두어로 시작 :
$ curl -XGET localhost:9200/startswith/test/_search?pretty -d '{
"query": {
"match_phrase_prefix": {
"title": {
"query": "d",
"max_expansions": 5
}
}
}
}'
는 나뿐만 아니라 접미사이 달성 할 수있는 방법이 있습니까?
그러나이 솔루션은 "환영"이라는 부분 문자열 인 "lcome"토큰을 찾지 않기 때문에 "lcome you"와 같은 것을 검색 할 때 사례를 처리하지 않습니다. – user2530619
죄송 합니다만 부분 일치가 필요하다는 것도 분명하지 않았습니다. 'ngram' 토큰 필터를 사용하여 솔루션을 향상 시키려고 시도 할 수 있습니다. – Val