2014-12-29 4 views
0

회사 이름의 약자는 다양한 형식으로 제공됩니다.Elasticsearch/Lucene 약어 검색

AB Industries A.B. Industries A B Industries

이 이름은 이러한 형식의 내 인덱스 데이터에있을 수 있습니다, 너무 이러한 형식의 검색 쿼리에서 올 수 있습니다.

나열된 형식 중 하나를 인덱싱 된 문서를 찾기 위해 나열된 형식 중 하나를 검색 할 수있는 필터와 토큰 라이저가 조합되어 있습니까?

답변

0

StandardAnalyzer를 사용하는 경우 데이터는 '.'로 구분됩니다. A와 B는 별도의 용어로 색인됩니다.

나는 아래 옵션

1

), 사용자 정의 분석기를 구현 StandardFilter를 제거하고 LowerCaseFilter와 ClassicTokenizer를 사용하여 실험을 제안했다. (ClassicTokenizer doc에 따르면 - "구두점을 제거하고 구두점을 제거하지만 공백이없는 점은 토큰의 일부로 간주됩니다"

2) 위의 경우 "AB"는 따라서 "AB"쿼리는 "AB"와 일치하는 항목을 찾지 않습니다. 이 문제를 완전히 해결하려면 토큰을 만들기 전에 토큰을 A.B-> AB, A B-> AB 등으로 정규화 할 수 있어야합니다.

Google에서 맞춤식 토크 나이저 및 분석기의 사례를 많이 얻을 수 있습니다.

실험 상태를 알려주세요.