Skip to content

Lucene Query Syntax

Gee edited this page Nov 23, 2017 · 6 revisions

주의

  • scripted field는 검색이 안된다. 대신 필터로 사용해야 한다
  • 기본 operator는 OR 연산자다. 서울 한국으로 검색하면 서울 또는 한국이 존재하는 문서가 검색된다.
  • 텍스트 검색은 case sensitive하지 않다. 예를 들어 hello나 Hello나 같은 결과를 반환한다.
  • " " 내부의 단어는 정확한 일치를 원칙으로 하기에 "hello"와 "Hello"는 다르다
  • 구(phrase) 내에서는 wildcard를 사용할 수 없다.

목록

예제


Keyword 검색

  • 기능 : 임의의 Field Value가 검색어와 일치하는 Documents 찾기
  • 예시 : 셔츠
  • 예시 설명 : 임의의 Field Value가 셔츠인 Documents 찾기

Field Match 검색

  • 기능 : 특정 Field의 Value가 검색어와 일치하는 Documents 검색
  • 예시 : 배송메모:부재중
  • 예시 설명 : 배송메모 Field의 Value가 부재중인 Documents 찾기

Exact Field Match 검색

  • 기능
    • 특정 Field의 Value가 검색어와 정확히 일치하는 Documents 찾기
    • 큰 따옴표("")는 정확히 일치하는 Documents를 찾고 싶을 때 사용
  • 예시 : 배송메모:"상품 이상"
  • 예시 설명
    • 배송메모 Field의 Value가 정확히 상품 이상인 Documents 찾기
    • 큰 따옴표 없이 검색할 경우 배송메모상품 또는 이상인 Documents를 찾게된다.

Must be present 검색

  • 기능 : 특정 Field가 존재하는 Documents 찾기
  • 예시 : _exists_:상품분류
  • 예시 설명 : 상품분류 Field가 존재하는 Documents 찾기

Must not be present 검색

  • 기능 : 특정 Field가 존재하지 않는 Documents 찾기
  • 예시 : _missing_:상품분류
  • 예시 설명 : 상품분류 Field가 존재하지 않는 Documents 찾기

AND 검색

  • 기능 : 여러 조건을 동시에 만족하는 Documents 찾기
  • 예시
    • 셔츠 AND 서울특별시
    • 고객성별:여성 AND 고객나이:40
  • 예시 설명
    • 임의 Field의 Value가 셔츠서울특별시인 Documents 찾기
    • 고객성별 Field가 여성이고 고객나이 Field가 40인 Documents 찾기

OR 검색

  • 기능 : 여러 조건 중 최소 1개를 만족하는 Documents 찾기
  • 예시
    • 셔츠 OR 서울특별시
    • 고객성별:여성 OR 고객나이:40
  • 예시 설명
    • 임의의 Field 값이 셔츠거나 서울특별시인 Documents 찾기
    • 고객성별 Field Value가 여성이거나 고객나이 Field Value가 40인 Documents 찾기

NOT 검색

  • 기능 : 해당 조건을 제외한 Documents 찾기
  • 예시
    • NOT 셔츠
    • NOT 고객성별:여성
  • 예시 설명
    • 임의의 Field Value가 셔츠가 아닌 Documents 찾기
    • 고객성별 Field Value가 여성이 아닌 Documents 찾기

Grouping 검색

  • 기능 : 여러 조건을 만족하는 Documents 찾기
  • 예시
    • NOT 셔츠 AND (20대 OR 서울특별시)
    • NOT 고객성별:여성 AND (상품분류:셔츠 OR 구매사이트:티몬)
  • 예시 설명
    • 임의의 Field의 Value가 셔츠가 아니면서 임의의 Field Value가 20대이거나 서울특별시인 Documents 찾기
    • 고객성별 Field의 Value가 여성이 아니면서 상풍분류 Field의 Value가 셔츠이거나 구매사이트 Field의 Value가 티몬인 Documents 찾기

Term 검색

  • 기능 : 조건 중 적어도 하나라도 만족하는 Documents 찾기
  • 예시
    • (우리 니트)
    • 상품분류:(니트 코트)
  • 예시 설명
    • 임의의 Field의 Value가 우리거나 니트인 Documents 찾기
    • 상품분류 Field의 Value가 니트거나 코트인 Documents 찾기

Fuzzy 검색

  • 기능
    • 검색어와 유사한 Value를 갖는 Documents 찾기
    • 자세히는, 검색어와 임의의 Field Value가 같아지기 위해 몇 번의 편집 연산(삽입/삭제/대체)을 해야하는지 계산하여 구한다
  • 예시
    • 경상북두~
    • 구매사이트:22번가~2
  • 예시 설명
    • 임의의 Field의 Value가 경상북두이거나 한 글자만 다른 Documents 찾기
    • 구매사이트 Field Value가 22번가이거나 두 글자까지만 다른 Documents 찾기
  • 옵션 설명
    • ~ 다음의 숫자가 '몇 글자까지 다른 글자를 수용할 것인지`를 정하는 역할
      • 예를 들어 22번가~2는 두 글자까지 다름을 허용한다는 뜻이다.
    • 명시하지 않을 경우 AUTO 적용
      • 검색어가 2글자 이하 : 완전 일치
      • 검색어가 3~5글자 사이 : 한 글자 차이 허용
      • 검색어가 5글자 이상 : 두 글자 차이 허용

Proximity 검색

  • 기능 : 검색어의 순서를 변경해서 Documents 찾기
  • 예시
    • "이상 상품"~2
    • 배송메모:"고객님이 안 받아요 전화를 계속"~5
  • 예시 설명
    • 임의의 Field Value가 이상 상품에서 단어 순서를 2번까지 바꿔서 찾을 수 있는 Documents 찾기
    • 배송메모 Field Value 중에서 고객님이 안 받아요 전화를 계속의 단어들의 순서를 최대 5번까지 바꾸는 과정에서 찾을 수 있는 Documents 찾기

Numeric Values 검색

  • 기능 : Numeric Field Value로 Documents 찾기
  • 예시
    • 상품가격:5000
    • 상품가격:>=5000
    • 상품가격:<=5000
  • 예시 설명
    • 상품가격 Field Value가 5000인 Documents 찾기
    • 상품가격 Field Value가 5000보다 크거나 같은 Documents 찾기
    • 상품가격 Field Value가 5000보다 작거나 같읕 Documents 찾기

Range 검색

  • 기능 : Field Value의 범위로 Documents 찾기
  • 예시
    • 주문시간:[2017-10-01 TO 2017-12-31]
    • 상품가격:[1000 TO 10000}
    • tag:{alpha TO omega}
  • 예시 설명
    • 주문시간 Field Value가 2017-10-01 ~ 2017-12-31 사이인 Documents 찾기
    • 상품가격 Field Value가 1000 이상 & 10000 미만인 Documents 찾기
    • tag Field Value가 alpha ~ omega 사이인 Documents 찾기

Wildcard ? 검색

  • 기능 : Wildcard ?를 사용하여 Documents 찾기
  • 예시
    • 서?특별시
    • 구매사이트:쿠?
  • 예시 설명
    • 임의의 Field Value가 로 시작하고 특별시로 끝나는 5글자인 모든 Documents 찾기 (서울특별시)
    • 구매사이트 Field Value가 로 시작하는 2글자인 모든 Documents 찾기 (쿠팡)

Wildcard * 검색

  • 기능 : Wildcard *를 사용하여 Documents 찾기
  • 예시
    • 전라*
    • 상품분류:가*
  • 예시 설명
    • 임의의 Field Value가 전라로 시작하는 모든 Documents 찾기 (전라북도, 전라남도)
    • 상품분류 Field Value가 로 시작하는 모든 Documents 찾기 (가디건)


예제

전체 Documents 개수는?

*

고객성별이 여성인 Documents 개수는 ?

고객성별 : 여성

결제카드가 우리 또는 국민인 Documents 개수는?

결제카드 : (우리 국민)

결제카드 : 우리 OR 결제카드 : 국민

결제카드가 우리 또는 국민이면서 고객나이가 30대인 Documents 개수는?

결제카드 : (우리 국민) AND 고객나이 : [30 TO 39]

결제카드가 우리 또는 국민이면서 고객나이가 30대인이면서 고객주소_시도가 서울특별시가 아닌 Documents 개수는?

결제카드 : (우리 국민) AND 고객나이 : [30 TO 39] AND NOT 고객주소_시도 : 서울특별시

구매사이트가 쿠팡 또는 옥션이면서 고객성별이 여성이며 상품개수가 1~3인 Documents 개수는?

구매사이트 : (쿠팡 옥션) AND 고객성별 : 여성 AND 상품개수 : [1 TO 3]

상품개수가 0-2이거나 4-5인 Documents 개수는?

상품개수 : [0 TO 2] OR 상품개수 : [4 TO 5]

고객성별이 남성이면서 20대이거나 고객성별이 여성이면서 30대인 Documents 개수는?

(고객성별 : 남성 AND 고객나이 : [20 TO 29]) OR (고객성별 : 여성 AND 고객나이 : [30 TO 39])

구매사이트가 22번가(오타 아니에요)와 매우 비슷한 Documents 개수는?

구매사이트 : 22번가~2

고객주소_도시가 “경상”으로 시작하는 Documents 개수는?

고객주소_시도 : 경상*

상품분류가 “셔”로 시작하는 2글자인 Documents 개수는?

상품분류 : 셔?


source

Clone this wiki locally