ES로 선행 검색을 만들었습니다. 나는 ngram 분석기를 가지고 부분 일치를 원합니다. 또한 필자는 필드 시작 부분에서 일치하는 항목을 위로 올려야하므로 prefix_phrase 쿼리를 사용합니다.탄성 검색 - 원본 필드 쿼리
제 문제는 prefix_phrase의 원래 값을 쿼리해야하거나 원하는 모든 것을 제공하지 않아서 일치하는 모든 ngram과 일치한다는 것입니다.
예 :
emails: [[email protected], [email protected]]
search: 123
나는 123_something
먼저 돌아오고 싶다. 그러나 ngram 분석기로 인해 [email protected]
값은 접두사 조회와 일치합니다.
이
{
match: {
query: 123
type: 'prefix'
fields: ["email"]
original: 1
}
}
같은
뭔가 (실제로 문서에 저장되는 값 일명)를 분석 필드의 원래 값을 조회 할 수있는 방법이 있나요 아니면 할 그냥 저장해야 별도의 필드에 원래 값?
이 답변 : search a analyzed field through the stored original value in elasticsearch 존재하지 않는 문서를 가리 킵니다. 여러 영역 값이 사용되지 않는 것처럼 보입니다.