o
    ›¨Êhñ  ã                   @   s"   d dl mZmZ G dd„ dƒZdS )é    )ÚEmptySearchQuerySetÚSearchQuerySetc                       s  e Zd ZdD‡ fdd„	Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ ZdEd#d$„Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ ZdFd.d/„Zd0d1„ Zd2d3„ Zd4d5„ Zd6d7„ Zd8d9„ Zd:d;„ Zd<d=„ ZdDd>d?„Z d@dA„ Z!dBdC„ Z"‡  Z#S )GÚSearchIndexManagerNc                    s   t ƒ  ¡  || _d S ©N)ÚsuperÚ__init__Úusing)Úselfr   ©Ú	__class__© úB/var/www/html/env/lib/python3.10/site-packages/haystack/manager.pyr      s   

zSearchIndexManager.__init__c                 C   ó   t | jd�S )z‹Returns a new SearchQuerySet object.  Subclasses can override this method
        to easily customize the behavior of the Manager.
        ©r   )r   r   ©r	   r   r   r   Úget_search_queryset	   s   z&SearchIndexManager.get_search_querysetc                 C   r   )Nr   )r   r   r   r   r   r   Úget_empty_query_set   ó   z&SearchIndexManager.get_empty_query_setc                 C   ó   |   ¡ S r   )r   r   r   r   r   Úall   ó   zSearchIndexManager.allc                 C   r   r   )r   r   r   r   r   Únone   r   zSearchIndexManager.nonec                 O   ó   |   ¡ j|i |¤ŽS r   )r   Úfilter©r	   ÚargsÚkwargsr   r   r   r      ó   zSearchIndexManager.filterc                 O   r   r   )r   Úexcluder   r   r   r   r      r   zSearchIndexManager.excludec                 O   r   r   )r   Ú
filter_andr   r   r   r   r      r   zSearchIndexManager.filter_andc                 O   r   r   )r   Ú	filter_orr   r   r   r   r    !   r   zSearchIndexManager.filter_orc                 G   ó   |   ¡ j|Ž S r   )r   Úorder_by)r	   r   r   r   r   r"   $   ó   zSearchIndexManager.order_byc                 C   ó   |   ¡  ¡ S r   )r   Ú	highlightr   r   r   r   r%   '   r   zSearchIndexManager.highlightc                 C   ó   |   ¡  ||¡S r   )r   Úboost)r	   Útermr'   r   r   r   r'   *   ó   zSearchIndexManager.boostc                 C   ó   |   ¡  |¡S r   )r   Úfacet)r	   Úfieldr   r   r   r+   -   r#   zSearchIndexManager.facetc                 C   ó   |   ¡  |||¡S r   )r   Úwithin)r	   r,   Úpoint_1Úpoint_2r   r   r   r.   0   ó   zSearchIndexManager.withinc                 C   r-   r   )r   Údwithin)r	   r,   ÚpointÚdistancer   r   r   r2   3   r1   zSearchIndexManager.dwithinc                 C   r&   r   )r   r4   )r	   r,   r3   r   r   r   r4   6   r)   zSearchIndexManager.distanceé   c                 C   s   |   ¡ j||||dd�S )Nr5   )Ú
gap_amount)r   Ú
date_facet)r	   r,   Ú
start_dateÚend_dateÚgap_byr6   r   r   r   r7   9   s   
ÿzSearchIndexManager.date_facetc                 C   r&   r   )r   Úquery_facet)r	   r,   Úqueryr   r   r   r;   >   r)   zSearchIndexManager.query_facetc                 C   r*   r   )r   Únarrow)r	   r<   r   r   r   r=   A   r#   zSearchIndexManager.narrowc                 K   s   |   ¡ j|fi |¤ŽS r   )r   Ú
raw_search)r	   Úquery_stringr   r   r   r   r>   D   s   zSearchIndexManager.raw_searchc                 C   r$   r   )r   Úload_allr   r   r   r   r@   G   r   zSearchIndexManager.load_allÚcontentc                 C   s   |   ¡ j||d�S )N)Ú	fieldname)r   Ú
auto_query)r	   r?   rB   r   r   r   rC   J   r1   zSearchIndexManager.auto_queryc                 K   s   |   ¡ jdi |¤ŽS )Nr   )r   Úautocomplete)r	   r   r   r   r   rD   M   r   zSearchIndexManager.autocompletec                 C   r*   r   )r   r   )r	   Úconnection_namer   r   r   r   P   r#   zSearchIndexManager.usingc                 C   r$   r   )r   Úcountr   r   r   r   rF   S   r   zSearchIndexManager.countc                 C   r$   r   )r   Ú
best_matchr   r   r   r   rG   V   r   zSearchIndexManager.best_matchc                 C   r*   r   )r   Úlatest)r	   Ú
date_fieldr   r   r   rH   Y   r#   zSearchIndexManager.latestc                 C   r*   r   )r   Úmore_like_this)r	   Úmodel_instancer   r   r   rJ   \   r#   z!SearchIndexManager.more_like_thisc                 C   r$   r   )r   Úfacet_countsr   r   r   r   rL   _   r   zSearchIndexManager.facet_countsc                 C   s   |   ¡ jd d�S )N)Úpreferred_query)r   Úspelling_suggestion)r	   rM   r   r   r   rN   b   r)   z&SearchIndexManager.spelling_suggestionc                 G   r!   r   )r   Úvalues)r	   Úfieldsr   r   r   rO   e   r#   zSearchIndexManager.valuesc                 O   r   r   )r   Úvalues_list)r	   rP   r   r   r   r   rQ   h   r   zSearchIndexManager.values_listr   )r5   )rA   )$Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r    r"   r%   r'   r+   r.   r2   r4   r7   r;   r=   r>   r@   rC   rD   r   rF   rG   rH   rJ   rL   rN   rO   rQ   Ú__classcell__r   r   r
   r   r      sB    


r   N)Úhaystack.queryr   r   r   r   r   r   r   Ú<module>   s    