Commit 208176cb authored by Alexandre Delanoë's avatar Alexandre Delanoë

[OPTIM] Query Occ Ngrams.

parent 686f7f12
...@@ -72,7 +72,7 @@ import GHC.Generics (Generic) ...@@ -72,7 +72,7 @@ import GHC.Generics (Generic)
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix)
-- import Gargantext.Database.Schema.Ngrams (NgramsTypeId, ngramsTypeId, NgramsTableData(..)) -- import Gargantext.Database.Schema.Ngrams (NgramsTypeId, ngramsTypeId, NgramsTableData(..))
import Gargantext.Database.Config (userMaster) import Gargantext.Database.Config (userMaster)
import Gargantext.Database.Metrics.NgramsByNode (getOccByNgramsOnlySlow) import Gargantext.Database.Metrics.NgramsByNode (getOccByNgramsOnlyFast)
import Gargantext.Database.Schema.Ngrams (NgramsType) import Gargantext.Database.Schema.Ngrams (NgramsType)
import Gargantext.Database.Types.Node (NodeType(..)) import Gargantext.Database.Types.Node (NodeType(..))
import Gargantext.Database.Utils (fromField', HasConnection) import Gargantext.Database.Utils (fromField', HasConnection)
...@@ -888,10 +888,10 @@ getTableNgrams :: forall env err m. ...@@ -888,10 +888,10 @@ getTableNgrams :: forall env err m.
-> Maybe OrderBy -> Maybe OrderBy
-> (NgramsTerm -> Bool) -> (NgramsTerm -> Bool)
-> m (Versioned NgramsTable) -> m (Versioned NgramsTable)
getTableNgrams nType nId tabType listId limit_ offset getTableNgrams _nType nId tabType listId limit_ offset
listType minSize maxSize orderBy searchQuery = do listType minSize maxSize orderBy searchQuery = do
lIds <- selectNodesWithUsername NodeList userMaster _lIds <- selectNodesWithUsername NodeList userMaster
let let
ngramsType = ngramsTypeFromTabType tabType ngramsType = ngramsTypeFromTabType tabType
offset' = maybe 0 identity offset offset' = maybe 0 identity offset
...@@ -935,11 +935,15 @@ getTableNgrams nType nId tabType listId limit_ offset ...@@ -935,11 +935,15 @@ getTableNgrams nType nId tabType listId limit_ offset
setScores False table = pure table setScores False table = pure table
setScores True table = do setScores True table = do
let ngrams_terms = (table ^.. each . ne_ngrams) let ngrams_terms = (table ^.. each . ne_ngrams)
occurrences <- getOccByNgramsOnlyFast nId
ngramsType
ngrams_terms
{-
occurrences <- getOccByNgramsOnlySlow nType nId occurrences <- getOccByNgramsOnlySlow nType nId
(lIds <> [listId]) (lIds <> [listId])
ngramsType ngramsType
ngrams_terms ngrams_terms
-}
let let
setOcc ne = ne & ne_occurrences .~ sumOf (at (ne ^. ne_ngrams) . _Just) occurrences setOcc ne = ne & ne_occurrences .~ sumOf (at (ne ^. ne_ngrams) . _Just) occurrences
......
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