인프런 커뮤니티 질문&답변

엘라스틴님의 프로필 이미지
엘라스틴

작성한 질문수

ElasticSearch Essential

열일곱 번째 강의 - 트러블 슈팅 사례 분석 #5 (잦은 GC 발생)

Inverted index 리스트 확인방법

해결된 질문

작성

·

308

0

안녕하세요 강의 잘들었습니다~~

 

질문이있는데 한 인덱스의 인버티드인덱스가 저장된 전체 리스트?데이터를 볼 수 있는 방법이 있는지요

어떻게 분석되서 저장이 되있는지 확인을 하고 싶습니다

답변 2

1

강진우님의 프로필 이미지
강진우
지식공유자

넵. 인버티드 인덱스의 저장된 데이터를 볼 수 있는 방법은 없습니다. 다만 _analyze API를 통해서 어떤 토큰들이 생성되어 인버티드 인덱스를 구성하게 될지 확인할 수 있습니다. 그렇게 생성되는 토큰들을 통해서 인버티드 인덱스가 어떻게 구성되어 있을지 유추해 볼 수 있습니다.

0

엘라스틴님의 프로필 이미지
엘라스틴
질문자

답변감사합니다~~ 그런데 특정단어를 검색하면 안나오던 상품이, 안나오는 상품의 단어 전부 포함되게 검색하면 또 나오는것은 어떤이유일까요ㅠ

스코어로 짤렸다기에는 전체 결과 갯수제한보다도 결과가 적게 나오고 특정상품이 안나와서 재질문을 드립니다~~~

강진우님의 프로필 이미지
강진우
지식공유자

안나오는 상품의 단어 전부 포함되게 검색 하면 이라는 표현을 보니 혹시 검색 하고자 하는 필드의 타입이 keyword로 정의되어 있는 건 아닐까 싶네요. 여덟 번째 강의에서 이야기 했던 것처럼 text 타입과는 다르게 keyword 타입은 Exact Matching 에 사용되기 때문에 저장된 모든 단어가 포함되어야 정확하게 검색 됩니다.

I am a boy 라는 문장을 text 필드로 정의 했다면 i, am , boy 이렇게 일부 단어들로도 검색이 되지만 keyword 필드로 정의 했다면 반드시 똑같은 문장인 I am a boy 로만 검색이 됩니다.

만약 text 타입으로 정의 했는데도 상품의 단어가 전부 포함 되어야 검색이 된다면 _analyze API를 통해 해당 필드에 저장된 단어가 어떻게 토크나이징 되고 있는지 확인해 보고 검색어의 토크나이징과 겹치는 결과가 있는지를 살펴봐야 합니다. _analyze API의 활용 방법은 일곱 번째 강의에서 확인해 보실 수 있습니다.

여전히 문제가 생긴다면 문제가 되는 상품의 정보를 알려 주시면 재현 한 번 해보겠습니다~

엘라스틴님의 프로필 이미지
엘라스틴

작성한 질문수

질문하기