하나의 쿼리에 두 개의 서로 다른 필터 조합-Elastica

Dimitris Tsarouhas

제 질문은 매우 간단합니다. Elastica의 하나의 쿼리에서 두 개의 필터를 하나의 filter_bool과 하나의 filter_range를 결합하고 싶습니다. 코드는

public function getAdvancedTweetsEs($keyword, $location, $datepicker, $datepicker1, $offset)
{
    $elasticaClient = new Elastica_Client();

    // Load index
    $elasticaIndex = $elasticaClient->getIndex('mongoindex3');

    // Define a Query. We want a string query.
    $elasticaQueryString = new Elastica_Query_QueryString();
    //$elasticaQueryString->setDefaultOperator('AND');
    $elasticaQueryString->setQuery($keyword);

    // Create the actual search object with some data.
    $elasticaQuery = new Elastica_Query();
    $elasticaQuery->setQuery($elasticaQueryString);
    $elasticaQuery->setFrom(0);
    $elasticaQuery->setLimit($offset);

    //Set a filter in text
    $elasticaFilterBool = new Elastica_Filter_Bool();                
    $filter1 = new Elastica_Filter_Term();
    $filter2 = new Elastica_Filter_Term();
    $filter1->setTerm('text', array(strtolower($keyword)));
    $filter2->setTerm('location', array(strtolower($location)));        
    $elasticaFilterBool->addMust($filter1);
    $elasticaFilterBool->addMust($filter2);
    $elasticaQuery->setFilter($elasticaFilterBool);

    $range = new Elastica_Query_Range();
    $range->addField('date', 
                        array(  'from' => $datepicker,
                                'to' => $datepicker1
                             ) 
                     );                 

    //Search on the index.
    $elasticaResultSet = $elasticaIndex->search($elasticaQuery);

    $elasticaResults = $elasticaResultSet->getResults();

    $results = array();

    foreach ($elasticaResults as $elasticaResult) 
    {   
        $results[] = $elasticaResult->getData();
    }

    return $results;
}

$ elasticaQuery에서 두 개의 필터를 함께 사용할 수 없습니다. 도움을 주시면 감사하겠습니다!

감사!

Ramseykhalaf

범위 필터를 필터의 다른 must용어 로 추가하지 않는 이유 bool:

$rangeFilter = new Elastica_Filter_Range();
$rangeFilter->addField('date', 
                    array(  'from' => $datepicker,
                            'to' => $datepicker1
                         ) 
                 ); 
$elasticaFilterBool->addMust($rangeFilter);
$elasticaQuery->setFilter($elasticaFilterBool);

부울 필터에서 쿼리가 아닌 필터를 사용해야합니다. 참고 사용 Elastica_Filter_Range하던 범위 쿼리 대신 사용했습니다.

또한 오래된 버전의 Elastica를 사용하고 있다는 것을 알고 있으며, 새로운 버전은 네임 스페이스를 사용합니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하나의 쿼리에 두 개의 서로 다른 필터 조합-Elastica

분류에서Dev

두 개의 다른 쿼리를 하나로 결합

분류에서Dev

두 개의 필드 (다른)를 하나의 필드로 쿼리하는 방법

분류에서Dev

laravel 조인 쿼리는 두 개의 서로 다른 데이터에 대해 두 개의 동일한 ID를 반환합니다.

분류에서Dev

하나의 쿼리로 두 개의 다른 테이블에서 데이터 가져 오기

분류에서Dev

django에서 두 개의 다른 필드 조합으로 기본값 설정

분류에서Dev

JMeter 하나의 테스트 계획에서 두 개의 서로 다른 데이터베이스 참조

분류에서Dev

두 개의 서로 다른 쿼리를 결합하는 방법?

분류에서Dev

하나의 쿼리 Access 데이터베이스에 다른 필드가있는 두 개의 다른 테이블에서 열 선택

분류에서Dev

하나의 테이블에서 두 개의 다른 쿼리 결과를 결합하는 방법 mysql

분류에서Dev

두 개의 다른 테이블에서 합계 쿼리

분류에서Dev

두 개의 서로 다른 테이블에서 두 개의 필드에 대한 SUM 쿼리 PHP

분류에서Dev

하나의 쿼리에서 두 개의 오른쪽 조인이 선택됩니다.

분류에서Dev

하나의 쿼리에서 두 개의 날짜 필터링 django / python

분류에서Dev

하나의 쿼리에서 SQL 두 개의 다중 행 개수

분류에서Dev

두 개의 서로 다른 결합 쿼리 출력 결합

분류에서Dev

첫 번째 선택 쿼리 결과를 기반으로 두 개의 다른 선택 쿼리 결과 (Oracle)에서 하나의 값을 선택합니다.

분류에서Dev

하나의 LINQ 쿼리에서 두 개의 다른 목록에 추가

분류에서Dev

하나의 SQL 쿼리에서 두 개의 COUNT 병합

분류에서Dev

MYSQL은 두 개의 다른 테이블에서 두 개의 다른 열을 단일 열로 조인합니다.

분류에서Dev

지도 필터 람다 식에 대해 서로 다른 클래스 계층 구조의 루트에서 두 개의 필드를 사용하여

분류에서Dev

두 개의 서로 다른 구조화 배열 필터링 js 밑줄

분류에서Dev

두 개의 객체 배열이 다른 키를 기준으로 하나를 필터링해야합니다.

분류에서Dev

Oracle SQL에서 하나의 결과로 두 개의 서로 다른 쿼리 출력

분류에서Dev

unity3d에서 두 개의 다른 텍스처를 하나로 병합

분류에서Dev

하나의 쿼리에서 서로 다른 두 수준의 정보 집계

분류에서Dev

Elasticsearch에서 두 개의 다른 필드가있는 검색 쿼리

분류에서Dev

Altair의 공유 선택기 / 필터를 사용하여 서로 다른 차트에 두 개의 데이터 프레임을 플로팅합니다.

분류에서Dev

두 개의 다른 쿼리를 하나의 테이블로 결합하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    하나의 쿼리에 두 개의 서로 다른 필터 조합-Elastica

  2. 2

    두 개의 다른 쿼리를 하나로 결합

  3. 3

    두 개의 필드 (다른)를 하나의 필드로 쿼리하는 방법

  4. 4

    laravel 조인 쿼리는 두 개의 서로 다른 데이터에 대해 두 개의 동일한 ID를 반환합니다.

  5. 5

    하나의 쿼리로 두 개의 다른 테이블에서 데이터 가져 오기

  6. 6

    django에서 두 개의 다른 필드 조합으로 기본값 설정

  7. 7

    JMeter 하나의 테스트 계획에서 두 개의 서로 다른 데이터베이스 참조

  8. 8

    두 개의 서로 다른 쿼리를 결합하는 방법?

  9. 9

    하나의 쿼리 Access 데이터베이스에 다른 필드가있는 두 개의 다른 테이블에서 열 선택

  10. 10

    하나의 테이블에서 두 개의 다른 쿼리 결과를 결합하는 방법 mysql

  11. 11

    두 개의 다른 테이블에서 합계 쿼리

  12. 12

    두 개의 서로 다른 테이블에서 두 개의 필드에 대한 SUM 쿼리 PHP

  13. 13

    하나의 쿼리에서 두 개의 오른쪽 조인이 선택됩니다.

  14. 14

    하나의 쿼리에서 두 개의 날짜 필터링 django / python

  15. 15

    하나의 쿼리에서 SQL 두 개의 다중 행 개수

  16. 16

    두 개의 서로 다른 결합 쿼리 출력 결합

  17. 17

    첫 번째 선택 쿼리 결과를 기반으로 두 개의 다른 선택 쿼리 결과 (Oracle)에서 하나의 값을 선택합니다.

  18. 18

    하나의 LINQ 쿼리에서 두 개의 다른 목록에 추가

  19. 19

    하나의 SQL 쿼리에서 두 개의 COUNT 병합

  20. 20

    MYSQL은 두 개의 다른 테이블에서 두 개의 다른 열을 단일 열로 조인합니다.

  21. 21

    지도 필터 람다 식에 대해 서로 다른 클래스 계층 구조의 루트에서 두 개의 필드를 사용하여

  22. 22

    두 개의 서로 다른 구조화 배열 필터링 js 밑줄

  23. 23

    두 개의 객체 배열이 다른 키를 기준으로 하나를 필터링해야합니다.

  24. 24

    Oracle SQL에서 하나의 결과로 두 개의 서로 다른 쿼리 출력

  25. 25

    unity3d에서 두 개의 다른 텍스처를 하나로 병합

  26. 26

    하나의 쿼리에서 서로 다른 두 수준의 정보 집계

  27. 27

    Elasticsearch에서 두 개의 다른 필드가있는 검색 쿼리

  28. 28

    Altair의 공유 선택기 / 필터를 사용하여 서로 다른 차트에 두 개의 데이터 프레임을 플로팅합니다.

  29. 29

    두 개의 다른 쿼리를 하나의 테이블로 결합하는 방법은 무엇입니까?

뜨겁다태그

보관