강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kt79jung8088
kt79jung8088

câu hỏi đã được viết

Elasticsearch cùng với các kỹ sư Thung lũng Silicon

Tìm hiểu về tìm kiếm Term Level

term query를 "text" 타입 필드에 사용하면 이점이 없어질까요?

Đã giải quyết

Viết

·

151

·

Đã chỉnh sửa

0

예제 하실 때 보면, _score 값이 계산된 것처럼 보이긴 했습니다.

query value의 대문자를 소문자로 변경하는 처리(Lowcase Token Filter)는 하지 않는 것 같지만, _score는 계산하기 때문에..

제대로 성능의 이점을 보려고 한다면 keyword 타입 필드에서 사용하는 것이 좋은 것인지요?

elasticsearchfull-text-searchsearching

Câu trả lời 2

0

altoformula님의 프로필 이미지
altoformula
Người chia sẻ kiến thức

안녕하세요 정광택님,

인프런 인턴이 정확히 잘 얘기해줬네요.

간단하게 얘기하자면, 네, term query를 "text" 타입 필드에 사용하는 것은 일반적으로 이점이 없어집니다. term query는 "keyword" 타입 필드에서 사용하는 것이 더 적절하며, 성능상으로도 더 최적화된 결과를 얻을 수 있습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 정광택님.

Elasticsearch에서 term query를 “text” 타입 필드에 사용하는 경우 이점에 대해 궁금하신 것 같네요. 이에 대해 설명드리겠습니다.

term query와 “text” 필드 타입

  • Term Query: term query는 주어진 검색어와 정확히 일치하는 문서를 찾는 데 사용됩니다. 이 쿼리는 분석되지 않은 데이터를 대상으로 수행되므로, “text” 타입 필드에 사용하면 의도한 대로 작동하지 않을 수 있습니다.
  • Text 필드: “text” 타입 필드는 기본적으로 분석되어 저장됩니다. 즉, 대소문자, 형태소 분석 등이 적용됩니다.

성능 이점 및 적절한 사용

  • term query를 “text” 타입 필드에 사용하는 경우, 분석 전의 원본 형태와 정확히 일치하는 내용을 찾기 어려워 이점이 제한될 수 있습니다.
  • 따라서 “keyword” 타입 필드에서 사용하는 것이 term query의 성능을 제대로 발휘하기 위해 권장됩니다. 이는 keyword 필드가 분석되지 않은 상태로 저장되기 때문입니다.

관련 질문과 예제에 대한 더 깊이 있는 설명이 필요하시다면, 동일한 주제를 다루는 기존 질문을 확인해보세요:
- Elasticsearch에서 Term Query와 Match Query의 차이점

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của kt79jung8088
kt79jung8088

câu hỏi đã được viết

Đặt câu hỏi