Support multiple "nick:" terms in search field
authorChristian Weiske <cweiske@cweiske.de>
Fri, 2 Sep 2016 16:01:58 +0000 (18:01 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Fri, 2 Sep 2016 16:01:58 +0000 (18:01 +0200)
Resolves: #17

src/phinde/Elasticsearch.php

index 1732bbb..2887beb 100644 (file)
@@ -52,13 +52,14 @@ class Elasticsearch
 
     public function search($query, $filters, $site, $page, $perPage, $sort)
     {
 
     public function search($query, $filters, $site, $page, $perPage, $sort)
     {
-        if (preg_match('#nick:([^ ]*)#', $query, $matches)) {
-            $authorName = $matches[1];
-            $query = str_replace(
-                'nick:' . $authorName,
-                'author.name:' . $authorName,
-                $query
-            );
+        if (preg_match_all('#nick:([^ ]*)#', $query, $matches)) {
+            foreach ($matches[1] as $authorName) {
+                $query = str_replace(
+                    'nick:' . $authorName,
+                    'author.name:' . $authorName,
+                    $query
+                );
+            }
         }
 
         $qMust = array();//query parts for the MUST section
         }
 
         $qMust = array();//query parts for the MUST section