[terms] some attempts on adding dates to the terms table

parent 88449643
......@@ -613,7 +613,7 @@ getTableNgrams :: forall env err m.
-> ListId
-> TabType
-> NgramsSearchQuery
-> m (VersionedWithCount NgramsTable)
-> m (VersionedWithCount NgramsTableWithDay)
getTableNgrams nodeId listId tabType searchQuery = do
let ngramsType = ngramsTypeFromTabType tabType
versionedInput <- getNgramsTable' nodeId listId ngramsType
......@@ -738,7 +738,7 @@ getTableNgramsCorpus :: (HasNodeStory env err m, HasNodeError err, CmdCommon env
-> Maybe MinSize -> Maybe MaxSize
-> Maybe OrderBy
-> Maybe Text -- full text search
-> m (VersionedWithCount NgramsTable)
-> m (VersionedWithCount NgramsTableWithDay)
getTableNgramsCorpus nId tabType listId limit_ offset listType minSize maxSize orderBy mt =
getTableNgrams nId listId tabType searchQuery
where
......
......@@ -35,6 +35,7 @@ import Data.Set (Set)
import Data.String (IsString, fromString)
import Data.Swagger hiding (version, patch)
import Data.Text (Text, pack, strip)
import Data.Time.Calendar (Day)
import Data.Validity
import Database.PostgreSQL.Simple.FromField (FromField, fromField, fromJSONField)
import Database.PostgreSQL.Simple.ToField (ToField, toJSONField, toField)
......@@ -184,6 +185,7 @@ data NgramsElement =
, _ne_root :: Maybe NgramsTerm
, _ne_parent :: Maybe NgramsTerm
, _ne_children :: MSet NgramsTerm
, _ne_first_occurrence :: Maybe Day
}
deriving (Ord, Eq, Show, Generic)
......@@ -194,13 +196,21 @@ mkNgramsElement :: NgramsTerm
-> ListType
-> Maybe RootParent
-> MSet NgramsTerm
-> Maybe Day
-> NgramsElement
mkNgramsElement ngrams list rp children =
NgramsElement ngrams (size (unNgramsTerm ngrams)) list mempty (_rp_root <$> rp) (_rp_parent <$> rp) children
mkNgramsElement ngrams list rp children firstOccurrence =
NgramsElement { _ne_ngrams = ngrams
, _ne_size = size (unNgramsTerm ngrams)
, _ne_list = list
, _ne_occurrences = mempty
, _ne_root = _rp_root <$> rp
, _ne_parent = _rp_parent <$> rp
, _ne_children = children
, _ne_first_occurrence = firstOccurrence }
newNgramsElement :: Maybe ListType -> NgramsTerm -> NgramsElement
newNgramsElement mayList ngrams =
mkNgramsElement ngrams (fromMaybe MapTerm mayList) Nothing mempty
mkNgramsElement ngrams (fromMaybe MapTerm mayList) Nothing mempty Nothing
instance ToSchema NgramsElement where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_ne_")
......@@ -248,18 +258,18 @@ toNgramsElement ns = map toNgramsElement' ns
mockTable :: NgramsTable
mockTable = NgramsTable
[ mkNgramsElement "animal" MapTerm Nothing (mSetFromList ["dog", "cat"])
, mkNgramsElement "cat" MapTerm (rp "animal") mempty
, mkNgramsElement "cats" StopTerm Nothing mempty
, mkNgramsElement "dog" MapTerm (rp "animal") (mSetFromList ["dogs"])
, mkNgramsElement "dogs" StopTerm (rp "dog") mempty
, mkNgramsElement "fox" MapTerm Nothing mempty
, mkNgramsElement "object" CandidateTerm Nothing mempty
, mkNgramsElement "nothing" StopTerm Nothing mempty
, mkNgramsElement "organic" MapTerm Nothing (mSetFromList ["flower"])
, mkNgramsElement "flower" MapTerm (rp "organic") mempty
, mkNgramsElement "moon" CandidateTerm Nothing mempty
, mkNgramsElement "sky" StopTerm Nothing mempty
[ mkNgramsElement "animal" MapTerm Nothing (mSetFromList ["dog", "cat"]) Nothing
, mkNgramsElement "cat" MapTerm (rp "animal") mempty Nothing
, mkNgramsElement "cats" StopTerm Nothing mempty Nothing
, mkNgramsElement "dog" MapTerm (rp "animal") (mSetFromList ["dogs"]) Nothing
, mkNgramsElement "dogs" StopTerm (rp "dog") mempty Nothing
, mkNgramsElement "fox" MapTerm Nothing mempty Nothing
, mkNgramsElement "object" CandidateTerm Nothing mempty Nothing
, mkNgramsElement "nothing" StopTerm Nothing mempty Nothing
, mkNgramsElement "organic" MapTerm Nothing (mSetFromList ["flower"]) Nothing
, mkNgramsElement "flower" MapTerm (rp "organic") mempty Nothing
, mkNgramsElement "moon" CandidateTerm Nothing mempty Nothing
, mkNgramsElement "sky" StopTerm Nothing mempty Nothing
]
where
rp n = Just $ RootParent n n
......@@ -626,6 +636,7 @@ ngramsElementFromRepo
, _ne_children = c
, _ne_ngrams = ngrams
, _ne_occurrences = mempty -- panic $ "API.Ngrams.Types._ne_occurrences"
, _ne_first_occurrence = Nothing
{-
-- Here we could use 0 if we want to avoid any `panic`.
-- It will not happen using getTableNgrams if
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment