Может ли панель поиска, встроенная в PHP, также выполнять поиск статических веб-страниц?

Я хочу, чтобы у моего сайта была строка поиска, мой сайт создан в основном PHP.

Некоторые разделы моего сайта имеют статические страницы, а некоторые разделы имеют динамические страницы.

  1. Мой разработчик говорит, что не рекомендуется создавать индивидуальные
    панель поиска в PHP, которая может работать на статических страницах, как это было бы
    слишком медленно, потому что это будет делать поиск в папке. По его словам
    обрезанная строка поиска будет работать лучше только на динамических страницах, и
    следовательно, я должен реализовать Google API.

  2. Почему я не был заинтересован в создании окна поиска Google API? Потому что мой разработчик не смог настроить его дизайн, и стандартное окно не сочеталось с дизайном моего сайта.

Любое предложение или совет о том, как сделать какие-либо пункты.

1

Решение

Если вы сохраните статические страницы в базе данных, работать будет проще

2

Другие решения

  1. Было бы очень медленно, он прав. Но с правильной системой кеширования это можно уловить.

  2. Панель поиска Google слегка настраивается, как это: http://www.elitepvpers.com/forum/
    но я действительно даю вам отличные функции и небольшое повышение Google

1

Как говорит Джавлон Родригез, вам нужно создать таблицу в базе данных для статического контента, сохранить весь текст и HTML, CSS, JS контент в таблице и еще раз достать его. Лучше и быстрее.

0

Почему клиенты не доверяют своим разработчикам? Он абсолютно прав.

  1. Динамический поиск по статическим страницам действительно потребовал бы поиска по файловой системе, который чертовски медленен (хотя может быть предотвращен путем кэширования).

  2. Поисковая панель Google на самом деле не настраивается, и это не потому, что «он не смог этого сделать», а потому, что она ограничена Google. Вы используете их продукцию? Вы получаете их брендинг. Это так просто.

  3. PHP дает вам возможность создавать динамические сайты. Вам просто нужно использовать это. Если вы храните свой контент в базе данных, у вас есть преимущества полнотекстового поиска, и это здорово.

  4. Если у вас просто мертвый веб-сайт, подумайте о том, чтобы настроить XML (или любой другой формат, который вы предпочитаете) со статическим содержимым и связать его с URL-адресом реальной страницы. Это может выглядеть так, например:

XML-файл

<?xml version="1.0"?>
<pages>
<page>
<url>http://google.com</url>
<title>Some title</title>
<content>
The quick brown fox jumps over the lazy dog
</content>
</page>

<page>
<url>http://yahoo.com</url>
<title>Ohai Catz</title>
<content>
The quick Cat kitten cat cat
</content>
</page>
</pages>

Пример PHP

<?php

// String to search for
$searchString = 'Cat';

$xml = simplexml_load_file('staticpages.xml');

$pageMatches = [];

foreach( $xml->page AS $page )
{
// Check if the keyword exists in either the title or the content
if( stristr($page->content, $searchString) !== false || stristr($page->title, $searchString) !== false )
{
$pageMatches[] = $page;
}
}
?>

<?php echo $searchString ?> has been found on the following pages: <br>

<?php foreach( $pageMatches AS $match ): ?>
<a href="<?php echo $match->url ?>"><?php echo $match->url ?></a><br>
<?php endforeach ?>

Выход

Cat has been found on the following pages:
http://yahoo.com

Преимущества такого подхода:

  • Нет базы данных
  • С небольшими изменениями вы можете позволить отображать содержимое вашего сайта из XML, чтобы у вас был центральный источник ваших данных
  • Вы можете добавить дополнительную информацию, такую ​​как теги или ключевые слова, в XML, чтобы сделать поиск более точным

Теперь большой недостаток что мгновенно дисквалифицирует этот метод для эффективного поиска:

  • Вам необходимо реализовать алгоритм поиска.

Я смоделировал это с stristr(), Если вы хотите поиск с годный к употреблению В результате вы должны приложить немало усилий и усилий. Может быть, вы наткнетесь на некоторые алгоритмы в Интернете. Но поисковые алгоритмы — это наука сама по себе. Google не является многомиллиардной компанией ни за что. Запомни

0
По вопросам рекламы [email protected]