source: spip-zone/_plugins_/indexer/trunk/content/sphinx.html @ 88652

Last change on this file since 88652 was 88652, checked in by cam.lafit@…, 6 years ago

Fournir une facette *objet*

  • Le plugin fournit le type d'objet à Sphinx et est évolutif pour gérer tout objet SPIP, il semble logique d'exploiter cette propriété par défaut
File size: 3.1 KB
Line 
1<ul id=messages>
2<h1>Test SPHINX</h1>
3
4[(#FORMULAIRE_RECHERCHE{#SELF})]
5
6#SET{tri,''}
7#SET{sens_tri,''}
8
9<aside class="tri">
10        [(#ENV{order}|match{date}|?{
11                [(#SET{tri,date})]
12                [(#SET{sens_tri,-1})]
13                résultats triés par date
14        })]
15        <div>
16        [(#GET{tri}|?{
17                <a href="[(#SELF|parametre_url{order,''})]">trier par pertinence</a>
18        ,
19                <a href="[(#SELF|parametre_url{order,date})]">trier par date</a>
20        })]
21        </div>
22</aside>
23
24
25<B_filtres>
26<h4>Filtres:</h4>
27<BOUCLE_filtres(DATA){source tableau, #ARRAY{auteur,Aucun auteur,tag,Aucun tag,annee,Aucune année,stars,Aucune etoile,objet,Aucun objet}}>[
28(#ENV{#CLE}|oui)
29        <div>
30                <a class="btn btn-mini" href="[(#SELF|parametre_url{#CLE,''})]"><i class="icon-remove"></i> [(#ENV{#CLE}|=={-}|?{#VALEUR,#ENV{#CLE}})]</a>
31        </div>
32]</BOUCLE_filtres>
33
34
35<BOUCLE_max_sphinx(SPHINX)
36        {index #ENV{source,spip}}
37        {recherche #ENV*{recherche}}
38        {0,1}
39>#SET{max,#SCORE}</BOUCLE_max_sphinx>
40
41
42<B_recherche_sphinx>
43        <h1>Dans la boucle (SPHINX)</h1>
44
45        <h2>#GRAND_TOTAL documents trouvés (#TOTAL_BOUCLE affichés)</h2>
46
47        [<p>(#SPHINX_MESSAGE)</p>]
48
49        [<div><tt>(#SPHINX_QUERY)</tt></div>]
50
51        <small>
52        [(#SPHINX_META|table_valeur{total}|=={1000}|?{'+ de '}) ][(#SPHINX_META|table_valeur{total}) ]résultats
53                ([(#SPHINX_META|table_valeur{time}|mult{1000})] ms)
54        </small>
55
56        <div class='liste long resultats'>
57                [<div class="pagination">(#ENV{debut_recherche_sphinx}|?{#PAGINATION,#ANCRE_PAGINATION})</div>]
58                <ul class='liste-items'>
59
60<BOUCLE_recherche_sphinx(SPHINX)
61        {index #ENV{source,spip}}
62        {recherche #ENV*{recherche}}
63
64        {filter #ENV{annee},  'YEAR(date) = @valeur' }
65        {filter #ENV{tag},    'IN(properties.tags, @valeurs)',    'LENGTH(properties.tags) = 0'}
66        {filter #ENV{auteur}, 'IN(properties.authors, @valeurs)', 'LENGTH(properties.authors) = 0'}
67        {filter #ENV{objet}, 'IN(properties.objet, @valeurs)', 'LENGTH(properties.objet) = 0'}
68
69        {par #GET{tri}}{inverse #GET{sens_tri}}
70
71        {facet auteur, properties.authors ORDER BY COUNT(*) DESC}
72        {facet tag,    properties.tags ORDER BY COUNT(*) DESC}
73        {facet annee, YEAR(date) ORDER BY date DESC}
74        {facet objet,    properties.objet ORDER BY COUNT(*) DESC}
75
76        {pagination 10}
77>
78
79        [(#SET{properties,#PROPERTIES|json_decode{1}})]
80        <li class='item'>
81                <article class='entry article hentry'>
82                        <strong class='h3-like entry-title'>[(#SCORE|mult{100}|div{#GET{max}}|intval)%] <a href="#URI">#TITLE</a></strong>
83                        <p class="publication">
84                                [<time pubdate="pubdate" datetime="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</time>][<span class="authors"><span class="sep">, </span> <:par_auteur:> (#GET{properties}|table_valeur{authors}|implode{', '})</span>]
85                        </p>
86                        [<div class="introduction entry-content">(#SNIPPET|sinon{#SUMMARY})</div>]
87                </article>
88        </li>
89
90</BOUCLE_recherche_sphinx>
91                </ul>
92        </div>
93
94        [<div class="pagination">(#PAGINATION)</div>]
95
96        [(#INCLURE{fond=liste/sphinx_facettes,facets=#SPHINX_FACETS,env})]
97        [(#INCLURE{fond=liste/sphinx_metas,meta=#SPHINX_META,env})]
98
99</B_recherche_sphinx>
100        <h2>Pas de résultat pour :</h2>
101        <div><tt>#SPHINX_QUERY</tt></div>
102        [<p>(#SPHINX_MESSAGE)</p>]
103
104        [(#INCLURE{fond=liste/sphinx_metas,meta=#SPHINX_META,env})]
105
106<//B_recherche_sphinx>
107
108</ul>
Note: See TracBrowser for help on using the repository browser.