2016-06-24 5 views
0

elasticsearch 플러그인을 사용 중이고 을 사용하여 검색을 실행하면 searchable으로 표시된 모든 도메인 클래스에서 키워드를 검색합니다.특정 도메인으로 검색 제한

이제 두 개의 특정 도메인 클래스로 검색을 제한하고 싶습니다. 검색 방법으로 전달할 수있는 indicestypes이라는 옵션이 있지만 단순히 내 도메인 클래스 이름을 사용하면 인덱스 또는 유형을 알리는 오류가 발생합니다. 내가 원하는 것을 얻기 위해 정확히 무엇을해야합니까?

(필자는 lucene과 elasticsearch를 처음 접했고 색인 및 유형 개념을 이해할 수 있는지 확신 할 수 없다. 문서를 읽으면 특정 필드로만 검색을 제한 할 수있는 예제를 찾을 수 있었지만 구멍 도메인 클래스가 아니어도 lucene/elasticsearch 개념에 매핑 됨). 예상대로

elasticSearchService.search(myKeywords, [types:["myPackage.MyClass","myPackage.MyOtherClass"]]) 

결과는,하지만 난 여전히 도메인 당 하나의 인덱스 (한 종류)를 가진 걱정 : 갈

+0

'elasticSearchAdminService.indices' 검사 내 도메인 클래스 각각에 대해 하나의 인덱스가 생성 된 것을 볼 수 있습니다. . 이름은 "org.mypackage_v0"처럼 보입니다. 워드 프로세서를 읽다 예상되는 동작은 홀 데이터베이스에 대한 하나의 인덱스 여야하며 각 도메인 (테이블)은'type'으로 매핑되어야한다는 것을 알게되었습니다. 어떻게해야합니까? –

답변

0

방법이다. 예상했던대로가 아니지만 모든 도메인 클래스를 홀 데이터베이스의 단일 인덱스로 매핑하는 방법을 볼 수 없습니다. docs

+0

플러그인이 기본적으로 도메인 패키지 당 색인을 생성한다는 것을 이해했습니다. 응용 프로그램에 대한 단일 색인을 생성하려면 Config.groovy에서'elasticSearch.index.name = 'myIndexName''을 설정해야합니다 –

관련 문제