1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Ë
 
çúh­ãóZ—d„Zd&d„Zd„Zd„Zd„Zd„Zd„Zd'd„ZGd„d    «ZGd
„d e«Z    Gd „d e«Z
Gd„de«Z Gd„de«Z Gd„d«Z Gd„de «ZGd„de «ZGd„de «ZGd„de«ZGd„de«ZGd„de«Zd „Zd!„Zd"„Zd#„Zd$„Zy%)(có,—|s td«‚t|ŽS)zx
    Indicate that the values should be matched to a tag field
 
    ### Parameters
 
    - **t**: Tags to search for
    z"At least one tag must be specified)Ú
ValueErrorÚTagValue)Úts õtH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\redis/commands/search/querystring.pyÚtagsrs€ñ ÜÐ=Ó>Ð>Ü Qˆ<Ðócó —t||||¬«S)z0
    Indicate that value is a numeric range
    )Ú inclusive_minÚ inclusive_max)Ú
RangeValue)ÚaÚbr
r s    rÚbetweenrs€ô a˜¨-À}Ô UÐUrcó—t||«S)z
    Match a numeric value
    ©r©Úns rÚequalrs€ô 1a‹=Ðrcó—td|d¬«S)z%
    Match any value less than n
    NF©r rrs rÚltrs€ô 4˜¨%Ô 0Ð0rcó—td|d¬«S)z,
    Match any value less or equal to n
    NTrrrs rÚler#s€ô 4˜¨$Ô /Ð/rcó—t|dd¬«S)z(
    Match any value greater than n
    NF©r
rrs rÚgtr*s€ô 1d¨%Ô 0Ð0rcó—t|dd¬«S)z/
    Match any value greater or equal to n
    NTrrrs rÚger1s€ô 1d¨$Ô /Ð/rcó—t||||«S)z-
    Indicate that value is a geo region
    )ÚGeoValue)ÚlatÚlonÚradiusÚunits    rÚgeor%8s€ô C˜˜f dÓ +Ð+rcó8—eZdZed„«Zed„«Zd„Zd„Zy)ÚValuecó—y)z›
        Whether this type of value may be combined with other values
        for the same field. This makes the filter potentially more efficient
        F©©Úselfs rÚ
combinablezValue.combinable@s€ð rcó<—t|t«r|St|«S)zL
        Convert an object to a value, if it is not a value already
        )Ú
isinstancer'Ú ScalarValue©Úvs rÚ
make_valuezValue.make_valueHs€ô
aœÔ ؈Hܘ1‹~Ðrcó—t«‚©N©ÚNotImplementedErrorr*s rÚ    to_stringzValue.to_stringQs €Ü!Ó#Ð#rcó"—|j«Sr4©r7r*s rÚ__str__z Value.__str__Tó€Ø~‰~ÓÐrN)    Ú__name__Ú
__module__Ú __qualname__Úpropertyr,Ú staticmethodr2r7r:r)rrr'r'?s2„Ø ñóððñóðò$ó rr'có—eZdZdZdd„Zd„Zy)r Fcóf—|€d}|€d}t|«t|«g|_||_||_y)Nz-infÚinf)ÚstrÚranger
r )r+r rr
r s     rÚ__init__zRangeValue.__init__[s:€Ø ˆ9؈AØ ˆ9؈Aܘ!“fœc !›fÐ%ˆŒ
Ø*ˆÔØ*ˆÕrcó|—dj|j|jsdnd|jsd«Sd«S)Nz[{1}{0[0]} {2}{0[1]}]ú(Ú)ÚformatrEr
r r*s rr7zRangeValue.to_stringdsC€Ø&×-Ñ-Ø J‰JØ×)Ò)‰C¨rØ×)Ò)ˆCó
ð    
ð02ó
ð    
rN)FF©r<r=r>r,rFr7r)rrr r Xs„Ø€Jó+ó
rr có—eZdZdZd„Zd„Zy)r/Tcó$—t|«|_yr4)rDr1)r+r1s  rrFzScalarValue.__init__os €ÜQ“ˆrcó—|jSr4r0r*s rr7zScalarValue.to_stringró €Øv‰vˆ rNrKr)rrr/r/ls„Ø€Jòórr/có—eZdZdZd„Zd„Zy)rFcó—||_yr4)r)r+rs  rrFzTagValue.__init__ys    €Øˆ    rcóR—ddjd„|jD««zdzS)Nú{z | c3ó2K—|]}t|«–—Œy­wr4)rD)Ú.0rs  rú    <genexpr>z%TagValue.to_string.<locals>.<genexpr>}sèø€Ò:¨1¤ A§Ñ:ùs‚ú})Újoinrr*s rr7zTagValue.to_string|s%€ØU—Z‘ZÑ:°·    ±    Ô:Ó:Ñ:¸SÑ@Ð@rNrKr)rrrrvs„Ø€JòóArrcó—eZdZdd„Zd„Zy)r có<—||_||_||_||_yr4©r"r!r#r$)r+r"r!r#r$s     rrFzGeoValue.__init__s€ØˆŒØˆŒØˆŒ ؈    rc    óp—d|j›d|j›d|j›d|j›d    S)Nú[ú ú]r[r*s rr7zGeoValue.to_string‡s3€Ø4—8‘8*˜A˜dŸh™h˜Z q¨¯©¨ °Q°t·y±y°kÀÐCÐCrN©Úkm)r<r=r>rFr7r)rrr r €s „óó Drr cóL—eZdZd„Zd„Zed„«Zed„«Zd    d„Z    d„Z
d„Z y)
ÚNodecóZ—g|_i}|j«D]‘\}}|j|g«}t|tt
t f«r%|jtj|««ŒXt|t«r|j|«Œz|jd„|D««Œ“|xj|Dcgc]}tj|«‘Œc}z c_|j«D]0\}}|jj|j||««Œ2ycc}w)a†
        Create a node
 
        ### Parameters
 
        - **children**: One or more sub-conditions. These can be additional
            `intersect`, `disjunct`, `union`, `optional`, or any other `Node`
            type.
 
            The semantics of multiple conditions are dependent on the type of
            query. For an `intersection` node, this amounts to a logical AND,
            for a `union` node, this amounts to a logical `OR`.
 
        - **kwparams**: key-value parameters. Each key is the name of a field,
            and the value should be a field value. This can be one of the
            following:
 
            - Simple string (for text field matches)
            - value returned by one of the helper functions
            - list of either a string or a value
 
 
        ### Examples
 
        Field `num` should be between 1 and 10
        ```
        intersect(num=between(1, 10)
        ```
 
        Name can either be `bob` or `john`
 
        ```
        union(name=("bob", "john"))
        ```
 
        Don't select countries in Israel, Japan, or US
 
        ```
        disjunct_union(country=("il", "jp", "us"))
        ```
        c3óFK—|]}tj|«–—Œy­wr4)r'r2)rUÚsubvs  rrVz Node.__init__.<locals>.<genexpr>Ásèø€ÒD¸$œu×/Ñ/°×5ÑDùs‚!N)ÚparamsÚitemsÚ
setdefaultr.rDÚintÚfloatÚappendr'r2ÚextendrcÚto_nodeÚ join_fields)r+ÚchildrenÚkwparamsÚkvparamsÚkr1ÚcurvalsÚps        rrFz Node.__init__Œsð€ðVˆŒ àˆØ—N‘NÓ$ò    E‰DˆAˆqØ×)Ñ)¨!¨RÓ0ˆGܘ!œc¤3¬Ð.Ô/Ø—‘œu×/Ñ/°Ó2Õ3ܘAœuÔ%Ø—‘˜qÕ!à—‘ÑDÀ!ÔDÕDð    Eð      Š °Ö:¨AœŸ ™  QÒ:Ñ: à—N‘NÓ$ò    7‰DˆAˆqØ K‰K× Ñ ˜t×/Ñ/°°1Ó5Õ 6ñ    7ùò;sÂ>D(c
óP—t|«dk(r#td|›d|dj«›«gS|djs-|Dcgc]!}td|›d|j«›«‘Œ#c}Std|›d|jj d„|D««›d«}|gScc}w)Néú@ú:éz:(c3ó<K—|]}|j«–—Œy­wr4r9)rUr1s  rrVz#Node.join_fields.<locals>.<genexpr>Ísèø€Ò1NÀA°!·+±+·-Ñ1Nùó‚ú))ÚlenÚBaseNoder7r,ÚJOINSTRrX)r+ÚkeyÚvalsr1Úss     rrozNode.join_fieldsÈs¨€Ü ˆt‹9˜Š>ܘq   Q t¨A¡w×'8Ñ'8Ó':Ð&;Ð<Ó=Ð>Ð >ؐA‰w×!Ò!ØAEÖF¸A”H˜q   Q q§{¡{£} oÐ6Õ7ÒFÐ FÜ q˜˜˜R § ¡ × 1Ñ 1Ñ1NÈÔ1NÓ NÐOÈqÐQÓ RˆØˆsˆ
ùòGsÁ&B#có<—t|t«r|St|«Sr4)r.rcr)ÚclsÚobjs  rrnz Node.to_nodeÐs€ä cœ4Ô  ØˆJܘ‹}Ðrcó—t«‚r4r5r*s rr€z Node.JOINSTRÖs €ä!Ó#Ð#rNcóš—|j|«}|rdnd\}}|›|jjd„|jD««›|›S)N)rHr})rIrIc3ó<K—|]}|j«–—Œy­wr4r9)rUrs  rrVz!Node.to_string.<locals>.<genexpr>Ýsèø€Ò(L¸1¨¯©¯Ñ(Lùr|)Ú_should_use_parenr€rXrg)r+Ú with_parensÚpreÚposts    rr7zNode.to_stringÚsL€Ø×,Ñ,¨[Ó9ˆ Ù"-‘J°8‰    ˆˆTؐt—|‘|×(Ñ(Ñ(LÀÇ Á Ô(LÓLÐMÈdÈVÐTÐTrcó:—||St|j«dkDS)Nrw)r~rg)r+Úoptvals  rrŠzNode._should_use_parenßs!€Ø Р؈Mܐ4—;‘;Ó !Ñ#Ð#rcó"—|j«Sr4r9r*s rr:z Node.__str__är;rr4) r<r=r>rFroÚ classmethodrnr?r€r7rŠr:r)rrrcrc‹sE„ò:7òxðñóðð
ñ$óð$óUò
$ó
 rrccó&‡—eZdZˆfd„Zdd„ZˆxZS)rcóB•—t‰|«t|«|_yr4)ÚsuperrFrDrƒ)r+rƒÚ    __class__s  €rrFzBaseNode.__init__ésø€Ü ‰ÑÔܐQ“ˆrcó—|jSr4)rƒ)r+r‹s  rr7zBaseNode.to_stringírOrr4)r<r=r>rFr7Ú __classcell__©r•s@rrrès ø„ô÷rrcó—eZdZdZdZy)Ú IntersectNodezw
    Create an intersection node. All children need to be satisfied in order for
    this node to evaluate as true
    r^N©r<r=r>Ú__doc__r€r)rrršršñó„ñð
Grršcó—eZdZdZdZy)Ú    UnionNodezv
    Create a union node. Any of the children need to be satisfied in order for
    this node to evaluate as true
    ú|Nr›r)rrrŸrŸúrrrŸcó$‡—eZdZdZdˆfd„    ZˆxZS)Ú DisjunctNodezs
    Create a disjunct node. In order for this node to be true, all of its
    children must evaluate to false
    cód•—|j|«}t‰|    d¬«}|rd|zdzSd|zS)NF©r‹z(-r}ú-©rŠr”r7©r+r‹Úretr•s   €rr7zDisjunctNode.to_string    óAø€Ø×,Ñ,¨[Ó9ˆ ܉gѨEÐÓ2ˆÙ ؘ#‘: Ñ#Ð #à˜‘9Ð rr4©r<r=r>rœr7r—r˜s@rr¢r¢óø„ñ÷
ñrr¢có—eZdZdZdZy)ÚDistjunctUnionz~
    This node is true if *all* of its children are false. This is equivalent to
    ```
    disjunct(union(...))
    ```
    r Nr›r)rrr­r­s„ñðGrr­có$‡—eZdZdZdˆfd„    ZˆxZS)Ú OptionalNodez}
    Create an optional node. If this nodes evaluates to true, then the document
    will be rated higher in score/rank.
    cód•—|j|«}t‰|    d¬«}|rd|zdzSd|zS)NFr¤z(~r}ú~r¦r§s   €rr7zOptionalNode.to_string#r©rr4rªr˜s@rr¯r¯r«rr¯có—t|i|¤ŽSr4)rš©ÚargsÚkwargss  rÚ    intersectr¶,s€Ü ˜$Ð ) &Ñ )Ð)rcó—t|i|¤ŽSr4)rŸr³s  rÚunionr¸0s€Ü dÐ %˜fÑ %Ð%rcó—t|i|¤ŽSr4)r¢r³s  rÚdisjunctrº4s€Ü ˜Ð ( Ñ (Ð(rcó—t|i|¤ŽSr4)r­r³s  rÚdisjunct_unionr¼8s€Ü ˜4Ð * 6Ñ *Ð*rcó4—t|i|¤Žj«Sr4)r¶r7r³s  rÚ querystringr¾<s€Ü dÐ %˜fÑ %× /Ñ /Ó 1Ð1rN)TTr`)rrrrrrrr%r'r r/rr rcrršrŸr¢r­r¯r¶r¸rºr¼r¾r)rrú<module>r¿sÚðò
óVòò1ò0ò1ò0ó,÷ ñ ô2
ô
ô(%ôôAˆuôAôDˆuôD÷Z ñZ ôzˆtôôDôôôô =ô ô\ôô =ô ò*ò&ò)ò+ó2r