2014-11-28 5 views
0

현재 SOLR 앱을 Elasticsearch로 마이그레이션 중이며 특정 쿼리에서 멈추었습니다. ElasticSearch 문서는 원하는 결과를 얻는 방법에 대해 다소 모호합니다. 현재 태그가 지정된 "fq 's"(필터 쿼리)를 SOLR에서 Elasticsearch로 변환하려고합니다. 나는 내 쿼리와 필터를 기반으로 Elasticsearch 패싯 (현재 집계라고도 함)에서 돌아올 수 있어야하지만 검색시 다른 옵션에 대한 집계도 표시 할 수 있어야합니다.SOLR fq를 Elasticsearch로 마이그레이션

이것은 복잡해 보이지만 간단하게 " FQ "매개 변수를 다음과 같이 필터를 태그 :이 필터링됩니다 주요 SOLR 도움말 문서에서

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&facet=on&facet.field={!ex=dt}doctype 

"문서 타입 : PDF "뿐만 아니라면 출력에서 ​​다른 문서 유형의 수를 포함하는 - 다시는을 위해 잘 작동 나, 나는 Elasticsearch에서 이것을 재창조하려고하고있다.

지금까지 하나 이상의 필터를 적용하기 전까지는 작업을 수행하는 "post_filter"를 시도했습니다 (다시 SOLR이 문제없이 처리합니다). 당신이 작동하는 방법의 예를 볼 수 있고 어떻게 그것을 달성하고자 : 필터 IN

https://www.jobsinhealthcare.co.uk/search?latitude=&longitude=&title=&location=&radius=5&type=&salary=0&frequency=year&since=&jobtype=&keywords=&company=&sort=Most+recent&filter[contract_type_estr][33d5667c]=Temporary&filter[job_type_estr][5d370027]=Part+time&filter[job_type_estr][4b45bd05]=Full+time

/당신은 "여러"계약 유형 "을 선택 및/또는 수있는 결과의 오른쪽 측면 작업 유형 "및/또는"위치 "로 표시되며 선택되지 않은 쿼리/필터에 대한면 계수가 여전히 표시됩니다. 시간별 급여, 연봉 및 추가 된 날짜에는이 기능이 없음을 유의하십시오. 이는 의도적으로 설계된 것입니다.

내 쿼리를 구조화해야하는 방법에 대한 지침은 크게 apprreciated 것입니다.

답변

0

글로벌 통합이 필요하다고 생각합니다 (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-global-aggregation.html). 최상위 레벨 집계에서는 하위 집합으로 필터 집계 (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html)를 사용해야 만 "상태 : 공개"만 필터링 할 수 있습니다.

+0

전역 집계가 필요하지 않으므로 검색 기준을 존중하고 다른 제안을 제공하고 싶습니다. 패싯이 문맥을 전혀 가지지 않기 때문에 글로벌 집합체가 내 경우에는 어리석은 짓이다. – user3169851

관련 문제