diff --git a/synapse/storage/user_directory.py b/synapse/storage/user_directory.py
index d8c9657125f240e73cf3b305e2d86160a9619d73..44b7d8906a1579403dd24283deb2ab3ef13a9e87 100644
--- a/synapse/storage/user_directory.py
+++ b/synapse/storage/user_directory.py
@@ -748,7 +748,7 @@ def _parse_query_sqlite(search_term):
 
     # Pull out the individual words, discarding any non-word characters.
     results = re.findall(r"([\w\-]+)", search_term, re.UNICODE)
-    return " & ".join("(%s* | %s)" % (result, result,) for result in results)
+    return " & ".join("(%s* OR %s)" % (result, result,) for result in results)
 
 
 def _parse_query_postgres(search_term):