Commit 092d482b authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

Merge branch '145-graphExplorerSearch' into 145-dev-graph-explorer-search-tfidf

parents 3b163685 b7c7b416
Pipeline #3330 failed with stage
in 47 minutes and 42 seconds
...@@ -18,6 +18,7 @@ module Gargantext.API.Search ...@@ -18,6 +18,7 @@ module Gargantext.API.Search
where where
import Data.Aeson hiding (defaultTaggedObject) import Data.Aeson hiding (defaultTaggedObject)
import Data.List (concat)
import Data.Maybe (fromMaybe) import Data.Maybe (fromMaybe)
import Data.Swagger hiding (fieldLabelModifier, Contact) import Data.Swagger hiding (fieldLabelModifier, Contact)
import Data.Text (Text) import Data.Text (Text)
...@@ -55,7 +56,7 @@ api :: NodeId -> GargServer (API SearchResult) ...@@ -55,7 +56,7 @@ api :: NodeId -> GargServer (API SearchResult)
api nId (SearchQuery q SearchDoc) o l order = api nId (SearchQuery q SearchDoc) o l order =
SearchResult <$> SearchResultDoc SearchResult <$> SearchResultDoc
<$> map (toRow nId) <$> map (toRow nId)
<$> searchInCorpus nId False q o l order <$> searchInCorpus nId False (concat q) o l order
api nId (SearchQuery q SearchContact) o l order = do api nId (SearchQuery q SearchContact) o l order = do
printDebug "isPairedWith" nId printDebug "isPairedWith" nId
...@@ -67,13 +68,15 @@ api nId (SearchQuery q SearchContact) o l order = do ...@@ -67,13 +68,15 @@ api nId (SearchQuery q SearchContact) o l order = do
Just aId -> SearchResult Just aId -> SearchResult
<$> SearchResultContact <$> SearchResultContact
<$> map (toRow aId) <$> map (toRow aId)
<$> searchInCorpusWithContacts nId aId q o l order <$> searchInCorpusWithContacts nId aId (concat q) o l order
api nId (SearchQuery q SearchDocWithNgrams) o l order = undefined
----------------------------------------------------------------------- -----------------------------------------------------------------------
----------------------------------------------------------------------- -----------------------------------------------------------------------
-- | Main Types -- | Main Types
----------------------------------------------------------------------- -----------------------------------------------------------------------
data SearchType = SearchDoc | SearchContact data SearchType = SearchDoc | SearchContact | SearchDocWithNgrams
deriving (Generic) deriving (Generic)
instance FromJSON SearchType where instance FromJSON SearchType where
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
...@@ -85,7 +88,7 @@ instance Arbitrary SearchType where ...@@ -85,7 +88,7 @@ instance Arbitrary SearchType where
----------------------------------------------------------------------- -----------------------------------------------------------------------
data SearchQuery = data SearchQuery =
SearchQuery { query :: ![Text] SearchQuery { query :: ![[Text]]
, expected :: !SearchType , expected :: !SearchType
} }
deriving (Generic) deriving (Generic)
...@@ -100,7 +103,7 @@ instance ToSchema SearchQuery ...@@ -100,7 +103,7 @@ instance ToSchema SearchQuery
-} -}
instance Arbitrary SearchQuery where instance Arbitrary SearchQuery where
arbitrary = elements [SearchQuery ["electrodes"] SearchDoc] arbitrary = elements [SearchQuery [["electrodes"]] SearchDoc]
-- arbitrary = elements [SearchQuery "electrodes" 1 ] --SearchDoc] -- arbitrary = elements [SearchQuery "electrodes" 1 ] --SearchDoc]
----------------------------------------------------------------------- -----------------------------------------------------------------------
data SearchResult = data SearchResult =
......
...@@ -27,6 +27,7 @@ import Gargantext.Database.Query.Join (leftJoin5) ...@@ -27,6 +27,7 @@ import Gargantext.Database.Query.Join (leftJoin5)
import Gargantext.Database.Query.Table.Node import Gargantext.Database.Query.Table.Node
import Gargantext.Database.Query.Table.Context import Gargantext.Database.Query.Table.Context
import Gargantext.Database.Query.Table.NodeContext import Gargantext.Database.Query.Table.NodeContext
import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Database.Query.Table.NodeContext_NodeContext import Gargantext.Database.Query.Table.NodeContext_NodeContext
import Gargantext.Database.Schema.Node import Gargantext.Database.Schema.Node
import Gargantext.Database.Schema.Context import Gargantext.Database.Schema.Context
...@@ -51,6 +52,21 @@ searchDocInDatabase p t = runOpaQuery (queryDocInDatabase p t) ...@@ -51,6 +52,21 @@ searchDocInDatabase p t = runOpaQuery (queryDocInDatabase p t)
restrict -< (_ns_typename row) .== (sqlInt4 $ toDBid NodeDocument) restrict -< (_ns_typename row) .== (sqlInt4 $ toDBid NodeDocument)
returnA -< (_ns_id row, _ns_hyperdata row) returnA -< (_ns_id row, _ns_hyperdata row)
------------------------------------------------------------------------
searchInCorpusWithNgrams :: HasDBid NodeType
=> CorpusId
-> ListId
-> IsTrash
-> NgramsType
-> [[Text]]
-> Maybe Offset
-> Maybe Limit
-> Maybe OrderBy
-> Cmd err [FacetDoc]
searchInCorpusWithNgrams cId lId t ngt q o l order = undefined
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- | todo add limit and offset and order -- | todo add limit and offset and order
searchInCorpus :: HasDBid NodeType searchInCorpus :: HasDBid NodeType
......
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