Interface OrganizationSearchEntryRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<OrganizationSearchEntry,String>, org.springframework.data.jpa.repository.JpaRepository<OrganizationSearchEntry,String>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<OrganizationSearchEntry>, org.springframework.data.repository.PagingAndSortingRepository<OrganizationSearchEntry,String>, org.springframework.data.repository.query.QueryByExampleExecutor<OrganizationSearchEntry>, org.springframework.data.repository.Repository<OrganizationSearchEntry,String>

@Repository public interface OrganizationSearchEntryRepository extends org.springframework.data.jpa.repository.JpaRepository<OrganizationSearchEntry,String>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<OrganizationSearchEntry>
  • Method Details

    • search

      @Query(value="SELECT * FROM org_index_search idx WHERE status in :statuses AND (name_norm ilike \'%\'||:text||\'%\' OR fulltext_search(txt, :text))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> search(@Param("text") String text, @Param("statuses") List<String> statuses, org.springframework.data.domain.Pageable pageable)
    • searchForUser

      @Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE uc.email = :email AND idx.status IN :statuses AND (idx.name_norm ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchForUser(@Param("text") String text, @Param("email") String email, @Param("statuses") List<String> statuses, org.springframework.data.domain.Pageable pageable)
    • findByCountry

      org.springframework.data.domain.Page<OrganizationSearchEntry> findByCountry(String country, org.springframework.data.domain.Pageable pageable)
    • findByCountryAndStatus

      org.springframework.data.domain.Page<OrganizationSearchEntry> findByCountryAndStatus(String code, String status, org.springframework.data.domain.Pageable pageable)
    • findByType

      org.springframework.data.domain.Page<OrganizationSearchEntry> findByType(String type, org.springframework.data.domain.Pageable pageable)
    • findByTypeAndStatus

      org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeAndStatus(String type, String status, org.springframework.data.domain.Pageable pageable)
    • findByTypeForUser

      @Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE idx.type = ?1 AND uc.email = ?2", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeForUser(String type, String email, org.springframework.data.domain.Pageable pageable)
    • findByTypeAndStatusForUser

      @Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE idx.type = ?1 AND idx.status = ?2 AND uc.email = ?3", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeAndStatusForUser(String type, String status, String email, org.springframework.data.domain.Pageable pageable)
    • searchCandidateDuplicates

      @Query(value="SELECT idx.* FROM org_index_search idx\nLEFT OUTER JOIN oa_duplicates d ON (idx.id = d.oa_original_id)\nWHERE idx.status = \'raw\' AND (idx.name ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))GROUP BY idx.id\nHAVING not(\'is_similar\' = ANY(array_agg(d.status)))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchCandidateDuplicates(@Param("text") String text, org.springframework.data.domain.Pageable pageable)
    • searchCandidateDuplicatesForUser

      @Query(value="SELECT idx.* FROM org_index_search idx\nLEFT OUTER JOIN oa_duplicates d ON (idx.id = d.oa_original_id)\nLEFT OUTER JOIN user_countries uc ON (uc.country = idx.country)\nWHERE idx.status = \'raw\' AND uc.email = :email AND (idx.name ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))\nGROUP BY idx.id\nHAVING not(\'is_similar\' = ANY(array_agg(d.status)))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchCandidateDuplicatesForUser(@Param("text") String text, @Param("email") String email, org.springframework.data.domain.Pageable pageable)