Make search results more fixed to language, safe search results by default 2, a=chris
Make search results more fixed to language, safe search results by default 2, a=chris
diff --git a/src/models/PhraseModel.php b/src/models/PhraseModel.php
index 761fdf95f..8394748c5 100755
--- a/src/models/PhraseModel.php
+++ b/src/models/PhraseModel.php
@@ -1544,7 +1544,23 @@ class PhraseModel extends ParallelModel
} else {
$index_name = $this->index_name;
}
- $iterators[0] = new I\NetworkIterator($original_query,
+ $disjunct_phrases = explode("|", $original_query);
+ $out_query = "";
+ $pipe = "";
+ foreach ($disjunct_phrases as $disjunct) {
+ if (!stristr($disjunct, "lang:")) {
+ $locale_tag = L\guessLocaleFromString($original_query);
+ $lang_parts = explode("-", $locale_tag);
+ $disjunct .= " lang:" . $lang_parts[0];
+ }
+ if (!stristr($disjunct, "safe:")) {
+ $disjunct .= (empty($_SESSION['safe'])) ?
+ " safe:true" : " safe:" . $_SESSION['safe'];
+ }
+ $out_query .= $pipe . $disjunct;
+ $pipe = "|";
+ }
+ $iterators[0] = new I\NetworkIterator($out_query,
$queue_servers, $index_name, $filter, $save_timestamp_name);
}
if (!$network_flag) {