J'ai l'index salesperson
qui a availableDateRange
comme multivalue dateRangeField. ci-après le schéma pour availableDateRange
champSolr 6 DateRangeField recherche correspondance exacte
<fields>
<field name="availableDateRange" type="daterange" indexed="true" stored="true" multiValued="true" required="false"/>
</fields>
<types>
<fieldtype name="daterange" class="solr.DateRangeField"/>
</types>
Si je cherche vendeur disponible à partir 15/07/2017 à 207-07-17 comme ci-dessous
avalableRange:"[2017-07-15 TO 2017-07-17]"
En résultat de la recherche Je reçois 2 résultat comme ci-dessous:
availableRange: [
"[2017-01-01T00:00:00Z TO 2017-07-15T00:00:00Z]",
"[2017-09-01T00:00:00Z TO 2017-12-31T00:00:00Z]"
]
availableRange: [
"[2017-07-17T00:00:00Z TO 2017-07-19T00:00:00Z]"
]
recherche actuellement dateRange [15/07/2017 À 17/07/2017] me montre vendeur qui est même disponible tout d'un jour correspondant du 15 juillet au 17 juillet.
La requête en cours se comporte comme
availableRange:"2017-07-15" OR availableRange:"2017-07-16" OR availableRange:"2017-07-17"
Ma question est: Comment puis-je obtenir tous les vendeurs qui sont disponibles sur tous les jours de la gamme recherchée (par exemple tous les jours de plage de date mentionnée 15 , 16,17 juillet)
requête doit comporter quelque chose comme:
availableRange:"2017-07-15" AND availableRange:"2017-07-16" AND availableRange:"2017-07-17"
Mais l'utilisation et n'est pas possible solution, pour les grandes plages de dates (par exemple. 2017-01-01 AU 2017-12-31)
Quelqu'un peut-il m'aider s'il vous plaît pour trouver une solution réalisable et efficace.
Merci, semble fonctionner. En référence à https://cwiki.apache.org/confluence/display/solr/Working+with+Dates Il existe 3 prédicats rationnels (c'est-à-dire Intersects (par défaut), Contient, Within). Pour plus de connaissances pouvez-vous s'il vous plaît me dire comment puis-je utiliser d'autres 2 prédicats rationnels (c'est-à-dire Intersects (par défaut), Within) –