diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,8 @@
 # Change log for esqueleto text search 
 
+## Version 1.2.0
++ Add prefix or query.
++ expose binops on tsquery
 
 ## Version 1.1.5
 + enable tests in CI
diff --git a/esqueleto-textsearch.cabal b/esqueleto-textsearch.cabal
--- a/esqueleto-textsearch.cabal
+++ b/esqueleto-textsearch.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               esqueleto-textsearch
-version:            1.1.5
+version:            1.2.0
 synopsis:           PostgreSQL full text search for Esqueleto
 description:        PostgreSQL text search functions for Esqueleto.
 homepage:           https://github.com/jappeace/esqueleto-textsearch
diff --git a/src/Database/Esqueleto/TextSearch.hs b/src/Database/Esqueleto/TextSearch.hs
--- a/src/Database/Esqueleto/TextSearch.hs
+++ b/src/Database/Esqueleto/TextSearch.hs
@@ -6,6 +6,7 @@
 module Database.Esqueleto.TextSearch (
    (@@.)
   , prefixAndQuery
+  , prefixOrQuery
   , toSearchTerm
   , SearchTerm
   , ts_rank
diff --git a/src/Database/Esqueleto/TextSearch/Language.hs b/src/Database/Esqueleto/TextSearch/Language.hs
--- a/src/Database/Esqueleto/TextSearch/Language.hs
+++ b/src/Database/Esqueleto/TextSearch/Language.hs
@@ -7,6 +7,9 @@
 module Database.Esqueleto.TextSearch.Language
   ( (@@.)
   , prefixAndQuery
+  , prefixOrQuery
+  , prefixAndQueryLang
+  , prefixOrQueryLang
   , toSearchTerm
   , toSearchTermWeighted
   , SearchTerm
@@ -16,6 +19,9 @@
   , ts_rank
   , ts_rank_cd
   , setweight
+  -- * ts binary
+  , tsquery_or
+  , tsquery_and
   ) where
 
 import Data.String (IsString)
@@ -113,6 +119,14 @@
       -> SqlExpr (Value (TsQuery Lexemes))
 tsquery_and = unsafeSqlBinOp "&&"
 
+-- | (||) for tsquery. This function would be called (&&.) but
+-- Esqueleto's (&&.) confines that fn to sql boolean expressions.
+-- x::tsquery && y::tsquery == to_tsquery('x & y')
+tsquery_or :: SqlExpr (Value (TsQuery Lexemes))
+      -> SqlExpr (Value (TsQuery Lexemes))
+      -> SqlExpr (Value (TsQuery Lexemes))
+tsquery_or = unsafeSqlBinOp "||"
+
 -- | format the query into lexemes
 --   the result can be used in '@@.' for example:
 --
@@ -124,13 +138,27 @@
 --   where_ $ (company ^. CompanySearchIndexDocument) @@. query
 -- @
 --
+--  this uses && to combine queries
 prefixAndQuery :: SearchTerm -> SqlExpr (Value (TsQuery Lexemes))
 prefixAndQuery = prefixAndQueryLang "english"
 
 -- | specify a language to be used with the query.
 prefixAndQueryLang :: RegConfig -> SearchTerm -> SqlExpr (Value (TsQuery Lexemes))
-prefixAndQueryLang language (SearchTerm ts) =
-  foldr1 tsquery_and
+prefixAndQueryLang = prefixAndQueryLangWith tsquery_and
+
+prefixOrQuery :: SearchTerm -> SqlExpr (Value (TsQuery Lexemes))
+prefixOrQuery = prefixOrQueryLang "english"
+
+-- | same as 'prefixAndQueryLang' but uses || to combine quereis
+prefixOrQueryLang :: RegConfig -> SearchTerm -> SqlExpr (Value (TsQuery Lexemes))
+prefixOrQueryLang = prefixAndQueryLangWith tsquery_or
+
+-- | allows specifying which binary operation is used for combining queries.
+prefixAndQueryLangWith :: (SqlExpr (Value (TsQuery Lexemes))
+      -> SqlExpr (Value (TsQuery Lexemes))
+      -> SqlExpr (Value (TsQuery Lexemes))) -> RegConfig -> SearchTerm -> SqlExpr (Value (TsQuery Lexemes))
+prefixAndQueryLangWith binOp language (SearchTerm ts) =
+  foldr1 binOp
   $ map (to_tsquery (val language) . val) $ toList ts
 
 
