git.iko.soy/typeable/bloodhound
on master help sign in
docs
commitf3aa7feda505427603544ca3d3065bdf775cf0ce authorAlex K <alex@eat-up.org> dateSat 7 Feb 2015, 23:44 (12 years ago) parent9373817
1 file changed+15−22
README.md+15−22
README.md+15−22
@@ -631,51 +631,44 @@ IdsFilter (MappingName "tweet") [DocId "1"]
631631
632632#### Range Filter
633633
634−##### Full Range
635−
636634``` {.haskell}
637635
638636-- RangeFilter :: FieldName
639−-- -> Either HalfRange Range
637+-- -> RangeValue
640638-- -> RangeExecution
641639-- -> Cache -> Filter
642640
643641let filter = RangeFilter (FieldName "age")
644− (Right (RangeLtGt (LessThan 100000.0) (GreaterThan 1000.0)))
642+ (RangeGtLt (GreaterThan 1000.0) (LessThan 100000.0))
645643 RangeExecutionIndex False
646644
647645```
648646
649−##### Half Range
650−
651647``` {.haskell}
652648
653649let filter = RangeFilter (FieldName "age")
654− (Left (HalfRangeLt (LessThan 100000.0)))
650+ (RangeLte (LessThanEq 100000.0))
655651 RangeExecutionIndex False
656652
657653```
658654
659−##### Typed Ranges
660−
661−These look slightly different:
655+##### Date Ranges
662656
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".
664658
665−-- RangeFilterText :: FieldName
666−-- -> RangeText
667−-- -> RangeExecution
668−-- -> Cache
659+Note that compatibility with ES is tested only down to seconds.
669660
670−-- RangeFilterDouble :: FieldName
671−-- -> RangeDouble
672−-- -> RangeExecution
673−-- -> Cache
661+``` {.haskell}
674662
675−let filter = RangeFilterDouble (FieldName "age")
676− (RangeDoubleGtLt 1000.0 100000.0)
663+let filter = RangeFilter (FieldName "postDate")
664+ (RangeDateGtLte
665+ (GreaterThanD (UTCTime
666+ (ModifiedJulianDay 55000)
667+ (secondsToDiffTime 9)))
668+ (LessThanEqD (UTCTime
669+ (ModifiedJulianDay 55000)
670+ (secondsToDiffTime 11))))
677671 RangeExecutionIndex False
678−
679672```
680673
681674#### Regexp Filter