git.iko.soy/typeable/bloodhound
on master help sign in
docs
f3aa7feAlex K
README.md+15−22
@@ -631,51 +631,44 @@ IdsFilter (MappingName "tweet") [DocId "1"]
631
631
632#### Range Filter
632#### Range Filter
633
633
634−##### Full Range
635−
636``` {.haskell}
634``` {.haskell}
637
635
638-- RangeFilter :: FieldName
636-- RangeFilter :: FieldName
639−-- -> Either HalfRange Range
637+-- -> RangeValue
640-- -> RangeExecution
638-- -> RangeExecution
641-- -> Cache -> Filter
639-- -> Cache -> Filter
642
640
643let filter = RangeFilter (FieldName "age")
641let filter = RangeFilter (FieldName "age")
644− (Right (RangeLtGt (LessThan 100000.0) (GreaterThan 1000.0)))
642+ (RangeGtLt (GreaterThan 1000.0) (LessThan 100000.0))
645 RangeExecutionIndex False
643 RangeExecutionIndex False
646
644
647```
645```
648
646
649−##### Half Range
650−
651``` {.haskell}
647``` {.haskell}
652
648
653let filter = RangeFilter (FieldName "age")
649let filter = RangeFilter (FieldName "age")
654− (Left (HalfRangeLt (LessThan 100000.0)))
650+ (RangeLte (LessThanEq 100000.0))
655 RangeExecutionIndex False
651 RangeExecutionIndex False
656
652
657```
653```
658
654
659−##### Typed Ranges
655+##### Date Ranges
660−
661−These look slightly different:
662
656
663−``` {.haskell}
657+Date ranges are expressed in UTCTime. Date ranges use the same range bound constructors as numerics, except that they end in "D".
664
658
665−-- RangeFilterText :: FieldName
659+Note that compatibility with ES is tested only down to seconds.
666−-- -> RangeText
667−-- -> RangeExecution
668−-- -> Cache
669
660
670−-- RangeFilterDouble :: FieldName
661+``` {.haskell}
671−-- -> RangeDouble
672−-- -> RangeExecution
673−-- -> Cache
674
662
675−let filter = RangeFilterDouble (FieldName "age")
663+let filter = RangeFilter (FieldName "postDate")
676− (RangeDoubleGtLt 1000.0 100000.0)
664+ (RangeDateGtLte
665+ (GreaterThanD (UTCTime
666+ (ModifiedJulianDay 55000)
667+ (secondsToDiffTime 9)))
668+ (LessThanEqD (UTCTime
669+ (ModifiedJulianDay 55000)
670+ (secondsToDiffTime 11))))
677 RangeExecutionIndex False
671 RangeExecutionIndex False
678−
679```
672```
680
673
681#### Regexp Filter
674#### Regexp Filter