diff --git a/src/Gargantext/Database/Query/Facet.hs b/src/Gargantext/Database/Query/Facet.hs
index afcb0c2b81bd7ebbe4c30867de05a4f3273d6357..73fee2f7009f3a8433352c25554fb60680894455 100644
--- a/src/Gargantext/Database/Query/Facet.hs
+++ b/src/Gargantext/Database/Query/Facet.hs
@@ -22,6 +22,7 @@ module Gargantext.Database.Query.Facet
   , viewDocuments'
   , runCountDocuments
   , filterWith
+  , runTestAgg
 
   , Category
   , Score
@@ -59,6 +60,7 @@ import Gargantext.Database.Schema.Node
 import Gargantext.Database.Schema.NodeContext
 import Gargantext.Prelude (printDebug)
 
+import Gargantext.Database.Query.FacetTest (runTestAgg)
 ------------------------------------------------------------------------
 
 
@@ -198,19 +200,34 @@ viewDocumentsAgg :: CorpusId
                  -> Select FacetDocAggPart
 viewDocumentsAgg cId t ntId mQuery mYear = proc () -> do
   (c, nc) <- viewDocumentsQuery cId t ntId mQuery mYear -< ()
-  cnng <- optionalRestrict queryContextNodeNgramsTable -<
-    \cnng' -> (cnng' ^. cnng_node_id)    .== (nc ^. nc_node_id) .&&
-              (cnng' ^. cnng_context_id) .== (c ^. cs_id)
+  agg <- OAgg.aggregate sumInt4 (aggQ (nc ^. nc_node_id) (c ^. cs_id)) -< ()
+  -- agg <- OAgg.aggregate sumInt4
+  --          (proc (c', nc') -> do
+  --              cnng <- queryContextNodeNgramsTable -< ()
+  --              restrict -< (cnng ^. cnng_node_id)    .== (nc' ^. nc_node_id)
+  --              restrict -< (cnng ^. cnng_context_id) .== (c' ^. cs_id)
+  --              returnA -< (cnng ^. cnng_doc_count)) -< (c, nc)
+  -- cnng <- optionalRestrict queryContextNodeNgramsTable -<
+  --   \cnng' -> (cnng' ^. cnng_node_id)    .== (nc ^. nc_node_id) .&&
+  --             (cnng' ^. cnng_context_id) .== (c ^. cs_id)
   returnA  -< FacetDoc { facetDoc_id         = _cs_id        c
                        , facetDoc_created    = _cs_date      c
                        , facetDoc_title      = _cs_name      c
                        , facetDoc_hyperdata  = _cs_hyperdata c
                        , facetDoc_category   = nc ^. nc_category
-                       , facetDoc_ngramCount = fromMaybeFields 0 $ _cnng_doc_count <$> cnng  -- toNullable $ nc^.nc_score
+                       , facetDoc_ngramCount = fromIntegral agg
+                       -- , facetDoc_ngramCount = fromMaybeFields 0 $ _cnng_doc_count <$> cnng  -- toNullable $ nc^.
+                         nc_score
                        -- , facetDoc_ngramCount = toNullable $ toFields cnt
                        , facetDoc_score      = nc ^. nc_score
                        }
 
+aggQ ncId cId = proc () -> do
+  cnng <- queryContextNodeNgramsTable -< ()
+  restrict -< (cnng ^. cnng_node_id)    .== ncId
+  restrict -< (cnng ^. cnng_context_id) .== cId
+  returnA -< (cnng ^. cnng_doc_count)
+
 -- TODO Join with context_node_ngrams at context_id/node_id and sum by
 -- doc_count.
 viewDocumentsQuery :: CorpusId
diff --git a/src/Gargantext/Database/Schema/ContextNodeNgrams.hs b/src/Gargantext/Database/Schema/ContextNodeNgrams.hs
index d719844d75f32b7859ebe735890dd76822ffe379..caa625a4356b354ce14b780f05c83c64522667da 100644
--- a/src/Gargantext/Database/Schema/ContextNodeNgrams.hs
+++ b/src/Gargantext/Database/Schema/ContextNodeNgrams.hs
@@ -18,7 +18,7 @@ Portability : POSIX
 module Gargantext.Database.Schema.ContextNodeNgrams
   where
 
-import Prelude
+import Protolude
 import Gargantext.Core.Types (TermsCount)
 import Gargantext.Database.Schema.Prelude
 import Gargantext.Database.Schema.Ngrams (NgramsTypeId, NgramsId)
@@ -29,6 +29,11 @@ import Gargantext.Database.Admin.Types.Node
 type ContextNodeNgrams =
   ContextNodeNgramsPoly ContextId ListId NgramsId NgramsTypeId Double TermsCount
 
+type ContextNodeNgramsTest =
+  ContextNodeNgramsPoly ContextId ListId NgramsId Int Double TermsCount
+type ContextNodeNgramsTest' =
+  ContextNodeNgramsPoly ContextId ListId NgramsId Int Double Int64
+
 
 data ContextNodeNgramsPoly c n ngrams_id ngt w dc
    = ContextNodeNgrams { _cnng_context_id   :: !c
@@ -55,6 +60,22 @@ type ContextNodeNgramsRead  =
                            (Field SqlFloat8)
                            (Field SqlInt4  )
 
+type ContextNodeNgramsAgg =
+     ContextNodeNgramsPoly (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlFloat8)
+                           (Field SqlInt8  )
+
+type ContextNodeNgramsAggPart =
+     ContextNodeNgramsPoly (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlInt4  )
+                           (Field SqlFloat8)
+                           (Field SqlInt4  )
+
 $(makeAdaptorAndInstance "pContextNodeNgrams" ''ContextNodeNgramsPoly)
 makeLenses ''ContextNodeNgramsPoly