<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Просто про веб технологии &#187; Projects</title>
	<atom:link href="http://pro100pro.com/category/projects/feed" rel="self" type="application/rss+xml" />
	<link>http://pro100pro.com</link>
	<description>Про PHP, MySQL, Sphinx и Zend Framework, про архитектуру и производителность, про высокие нагрузки и масштабирование</description>
	<lastBuildDate>Thu, 13 Oct 2011 12:58:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>WordPress Sphinx Search plugin version 3.0</title>
		<link>http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0</link>
		<comments>http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0#comments</comments>
		<pubDate>Fri, 08 Apr 2011 07:40:20 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Sphinx Search]]></category>
		<category><![CDATA[WPSphinx plugin]]></category>

		<guid isPermaLink="false">http://pro100pro.com/?p=559</guid>
		<description><![CDATA[Мы рады представить новую третью версию плагина поиска для Wordpress.

Стоит отметить что мы разработали целый набор новых инструментов который поможет не только улучшить поиск, но так же и улучшить поисковую оптимизацию всего вебсайта.]]></description>
			<content:encoded><![CDATA[<p><!-- p { margin-bottom: 0.21cm; } -->Мы рады представить новую третью версию плагина поиска для WordPress.</p>
<p>Стоит отметить что мы разработали целый набор новых инструментов который поможет не только улучшить поиск, но так же и улучшить поисковую оптимизацию всего вебсайта.</p>
<p><!-- p { margin-bottom: 0.21cm; } -->Кратко о плагине:</p>
<ul>
<li>поиск с помощью 	Sphinx Search;</li>
<li>поддержка Google like запросов;</li>
<li>виджеты релевантных, 	последних и ТОП поисковых запросов;</li>
<li>набор инструментов 	по управлению поисковыми фразами;</li>
<li>мастер автоматической 	установки Sphinx Search;</li>
<li>статистика поисковых 	фраз;</li>
<li>все компоненты 	используют Sphinx Search, количество SQL 	запросов сведено к минимуму.</li>
</ul>
<p><!-- p { margin-bottom: 0.21cm; } -->Больше информации на <a title="WordPress Sphinx Search Plugin" href="http://www.ivinco.com/software/wordpress-sphinx-search-plugin/">официальной странице плагина</a>.</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2011. |
<a href="http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0">Permalink</a> |
<a href="http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0&title=WordPress Sphinx Search plugin version 3.0">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/wordpress-sphinx-search-plugin-version-3-0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sphinx Search плагин поиска для WordPress &#8211; поиск с Sphinx Search для начинающих</title>
		<link>http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih</link>
		<comments>http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih#comments</comments>
		<pubDate>Wed, 23 Dec 2009 15:11:56 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sphinx Search]]></category>
		<category><![CDATA[WPSphinx plugin]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pro100pro.com/?p=405</guid>
		<description><![CDATA[Два года назад Петр Зайцев из Percona попросил меня написать ему плагин поиска для WordPress используя Spinx Search. Сейчас этот модуль работает на mysqlperformanceblog.com.

Данная статья будет полезна тем кто только начинает знакомится с Sphinx Search. Ее можно использовать  как начальное руководство для написания простого поисковика на Sphinx Search.]]></description>
			<content:encoded><![CDATA[<p>Два года назад Петр Зайцев из <a title="Percona Inc." href="http://www.percona.com" >Percona</a> попросил меня написать ему <a title="плагин поиска для WordPress на Spihnx Search" href="https://launchpad.net/wp-sphinx-plugin" rel="nofollow">плагин поиска для WordPress</a> используя <a title="Sphinx Search" href="http://www.sphinxsearch.com/" rel="nofollow">Spinx Search</a>. Сейчас этот модуль работает на <a title="MySQL Performance Blog" href="http://www.mysqlperformanceblog.com/" rel="nofollow">mysqlperformanceblog.com</a>.</p>
<p>Данная статья будет полезна тем кто только начинает знакомится с Sphinx Search. Ее можно использовать  как начальное руководство для написания простого поисковика на Sphinx Search.</p>
<p>Возможности плагина:</p>
<ul>
<li>Быстрый поиск, ну это и понятно, мы ведь используем Sphinx Search</li>
<li>Возможность использовать расширенный синтаксис поиска (<a href="http://www.sphinxsearch.com/doc.html#extended-syntax" rel="nofollow">http://www.sphinxsearch.com/doc.html#extended-syntax</a>)</li>
<li>Сортировка результатов поиска по дате или по релевантности</li>
<li>Поиск по постам, комментариям или страницам. Это отличает этот плагин от стандартного поиска на WP, который не производит поиск по комментариям и страницам. А также многие другие поисковые плагины не имеют такой возможности.</li>
<li>Есть возможность исключить из результатов поска комментарии, страницы или посты</li>
<li>И многие другие вкусности, про которые вы можете узнать на странице плагина</li>
</ul>
<p>Все это позволяет нам делать Sphinx Search, и сейчас мы разеберем как это реализовано.</p>
<h3>Конфигурационный файл</h3>
<p>В первую очередь нам надо знать как устроен индекс. (sphinx.conf можно найти в каталоге rep/sphinx.conf)</p>
<p>Мы использовали самое простое решение это один монолитный индекс для всех данных: постов, страниц и комментариев. Формируется такой индекс единым SQL запросом, который приводить я тут не буду, он очень длинный и нас сейчас он не интересует (это все таки статья про Spihnx Search, а не про MySQL :) ), но посмотреть его можно в том же sphinx.conf.</p>
<p>Единственное, что нам стоит знать это какие атрибуты у нас есть:</p>
<ul>
<li>comment_ID</li>
<li>post_ID</li>
<li>isPost</li>
<li>isComment</li>
<li>isPage</li>
<li>post_type</li>
<li>date_added</li>
</ul>
<p>Атрибуты isPost, isComment и isPage отвечают за тип источника. date_added содержит дату добавления данных.</p>
<h3>Поиск</h3>
<p>Теперь рассмотрим как делать поиск, фильтрацию и сортировку используя атрибуты.<br />
Пример:</p>
<div class="igBar"><span id="lcode-1"><a href="#" onclick="javascript:showPlainTxt('code-1'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-1">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">if <span style="color:#006600; font-weight:bold;">&#40;</span> empty<span style="color:#006600; font-weight:bold;">&#40;</span>$this-&gt;<span style="">params</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'search_comments'</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">SetFilter</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'isComment'</span>, array<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">if <span style="color:#006600; font-weight:bold;">&#40;</span> empty<span style="color:#006600; font-weight:bold;">&#40;</span>$this-&gt;<span style="">params</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'search_pages'</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">SetFilter</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'isPage'</span>, array<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">if <span style="color:#006600; font-weight:bold;">&#40;</span> empty<span style="color:#006600; font-weight:bold;">&#40;</span>$this-&gt;<span style="">params</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'search_posts'</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">SetFilter</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'isPost'</span>, array<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">if <span style="color:#006600; font-weight:bold;">&#40;</span> $this-&gt;<span style="">params</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'search_sortby'</span><span style="color:#006600; font-weight:bold;">&#93;</span> == <span style="color:#CC0000;">'date'</span> <span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">SetSortMode</span><span style="color:#006600; font-weight:bold;">&#40;</span>SPH_SORT_ATTR_DESC, <span style="color:#CC0000;">'date_added'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> else <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">SetSortMode</span><span style="color:#006600; font-weight:bold;">&#40;</span>SPH_SORT_RELEVANCE<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$res = $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">Query</span> <span style="color:#006600; font-weight:bold;">&#40;</span> $this-&gt;<span style="">search_string</span>, $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'sphinx_index'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Первое, если один из аттрибутов не установлен, то с помощью SetFilter('isPost', array(0)) мы исключаем его из поиска.<br />
Второе, если пользователь захотел отсортировать результаты по дате добавления, то мы испольязем режим сортировки по атрибуту SetSortMode(SPH_SORT_ATTR_DESC, 'date_added'). По умолчанию данные сортируются по релевантности.<br />
И последнее мы выполняем собственно запрос с помощью метода Query(), первый параметр это запрос введенный пользователем, второй это индекс по которому выполнять поиск.</p>
<h3>Результат поиска</h3>
<p>Результат поиска мы должны обработать следующим образом:</p>
<ul>
<li>Получить найденный идентификационные номера и по ним получить данные</li>
<li>Используя атрибуты isPost, isPage и isComment мы узнаем из какой таблицы получать данные</li>
<li>Потом объединяем полученный результат</li>
<li>И последнее мы выделяем ключевые слова в результата, путем добавления html тэга STRONG вокруг слова.</li>
</ul>
<p>Выделение ключевых слов делает метод BuildExcerpts</p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$opts = array<span style="color:#006600; font-weight:bold;">&#40;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0000;">'limit'</span>&nbsp; =&gt; $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'excerpt_limit'</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0000;">'around'</span> =&gt; $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'excerpt_around'</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0000;">'chunk_separator'</span> =&gt; $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'excerpt_chunk_separator'</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0000;">'after_match'</span> =&gt; $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'excerpt_after_match'</span>.$isTitle<span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0000;">'before_match'</span> =&gt; $this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'excerpt_before_match'</span>.$isTitle<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$excerpts = $this-&gt;<span style="">config</span>-&gt;<span style="">sphinx</span>-&gt;<span style="">BuildExcerpts</span><span style="color:#006600; font-weight:bold;">&#40;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $post_content,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#CC0000;">'main_'</span>.$this-&gt;<span style="">config</span>-&gt;<span style="">admin_options</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">'sphinx_index'</span><span style="color:#006600; font-weight:bold;">&#93;</span>, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $this-&gt;<span style="">search_string</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $opts</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>В параметрах этого метода надо указать строку результата в которой надо выделить слова, индекс, запрос и параметы выделения.  В результате мы получем строку с подсвеченными ключевыми словами, которые пристуствовали в запросе.</p>
<p>В итоге как мы видим, написать свой поиск используя Sphinx Search достаточно просто. Если у вас большой блог и вы также хотите получить быстрый и много-функциональный поиск, тогда скачивайте <a href="http://launchpad.net/wp-sphinx-plugin/1.0/1.0/+download/wp-sphinx-plugin-1.0.tar.gz" rel="nofollow">WPSphinx плагин</a> - это бесплатно. :)</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2009. |
<a href="http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih">Permalink</a> |
<a href="http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih#comments">6 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih&title=Sphinx Search плагин поиска для WordPress &#8211; поиск с Sphinx Search для начинающих">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/php" rel="tag">PHP</a>, <a href="http://pro100pro.com/tag/plugin" rel="tag">Plugin</a>, <a href="http://pro100pro.com/tag/sphinx-search" rel="tag">Sphinx Search</a>, <a href="http://pro100pro.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://pro100pro.com/tag/wpsphinx-plugin" rel="tag">WPSphinx plugin</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/sphinx-search-plugin-poiska-dlya-wordpress-sphinx-dlya-nachinaushih/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Как вы используете Sphinx Search API?</title>
		<link>http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api</link>
		<comments>http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api#comments</comments>
		<pubDate>Mon, 21 Dec 2009 19:54:28 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[LinkAider]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sphinx Search]]></category>
		<category><![CDATA[ZendFramework]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://pro100pro.com/?p=400</guid>
		<description><![CDATA[Sphinx Search API для PHP  пердставляет собой единый класс, который позволяет использовать все возможности Sphinx Search через его интерфейс. Но, такой класс является удобным только для небольших скриптов и задач. 
Для более сложных задач и больших веб приложений необходимо другое решение. И это решения является проектированием и реализацией собственной обертки для Sphinx Search API.]]></description>
			<content:encoded><![CDATA[<p>Sphinx Search API для PHP  пердставляет собой единый класс, который позволяет использовать все возможности Sphinx Search через его интерфейс. Но, такой класс является удобным только для небольших скриптов и задач.<br />
Для более сложных задач и больших веб приложений необходимо другое решение. И это решения является проектированием и реализацией собственной обертки для Sphinx Search API.</p>
<p>В нашем проекте LinkAider.com мы используем следующие понятия и классы при работе с Sphinx Search:</p>
<ol>
<li>Сфинкс клиент, отвечающий за подключение, выполнение запросов и обработку ошибок. Для разработчика сфинкс клиент невидим, мы только сообщаем ему параметры подключения к searchd.</li>
<li>Сфинкс индекс - это один из основных классов, с которым работает разработчик, этот класс отвечает за формирование запросов и выполнение запросов через Сфинкс клиент, а также за обработку результатов запроса.</li>
<li>Сфинкс запрос - это еще один класс к которому обращается разработчик для составления запросов. Каждый запрос отвечает за свои индекс к которому обращается, а также содержит свои фильтры, группировки, сортировки и собственно сам запрос.</li>
<li>Сфинкс результат - это класс, который разбирает ответ сфинкса и предоставляет удобный интерфейс к информации по каждому запросу, также он содержит информацию об ошибках, которую испльзуетя Сфинкс клиент для логирования. Сфинкс результат используется разработчиками для создания запросов к базе данных и получения искомых данных.</li>
</ol>
<p>Пример работы выглядит следующим образом:</p>
<ol>
<li>Мы создаем объект Сфинкс индекс, который инициализирует Сфинкс клиент, устанавливая для него параметры подключения.</li>
<li>Потом мы создаем объекты запросы для каждого указываем фильтры, группировки и т.п., и  указываем к какому индексу делать запрос. Запросов может быть один или несколько, несколько запросов обрабатываються паралельно, что улучшает общую производительность системы.</li>
<li>Каждый созданный запрос мы добавляем в Сфинкс индекс, при добавлении мы можем также указатьк какому индексу делать запрос.</li>
<li>Специальный метод Run класса Сфинкс индекс запускает все запросы и как результат возвращает нам объект Сфинкс результат.</li>
<li>Данные из Сфинкс результата мы используем чтоб создать запросы к базе данных и получить искомые данные.</li>
</ol>
<p>Преимущеста, которые мы получем от работы с такой библотекой - это простота. Разработчик используя объект Сфинкс запрос может выполнять любые запросы.<br />
Сфинкс результат предоставляет удобную обертку над массивом результата.<br />
Нет необходимости помнить множество констант SphinxClient и парсить массив результата. В общем это выглдит так, как будто вы работаете с обычной таблицой, но не до конца. :)</p>
<p>Недостатки в том, что нам все еще приходится вручную связывать результат с таблицами, что может привести к ошибкам и неэффективному коду.</p>
<p>Решение я вижу, в привязке каждого запроса к определенной таблице или группе таблиц.</p>
<p>По описнной выше логике я разрабатываю модуль Sphinx Search для Zend Framework, который я планирую выложить в откртый доступ очень скоро, возможно к новому году.</p>
<p>Поэтому хотелось бы узнать как вы используете Sphinx Search и какие преимущества и недостатки вывидите у вашего подхода.</p>
<p>Буду рад любым советам и рекомендациям.</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2009. |
<a href="http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api">Permalink</a> |
<a href="http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api&title=Как вы используете Sphinx Search API?">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/development" rel="tag">Development</a>, <a href="http://pro100pro.com/tag/linkaider" rel="tag">LinkAider</a>, <a href="http://pro100pro.com/tag/sphinx-search" rel="tag">Sphinx Search</a>, <a href="http://pro100pro.com/tag/zend-framework" rel="tag">Zend Framework</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/kak-vy-ispolzuete-sphinx-search-api/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отчет DOU от LinkAider.com</title>
		<link>http://pro100pro.com/otchet-dou-ot-linkaidercom</link>
		<comments>http://pro100pro.com/otchet-dou-ot-linkaidercom#comments</comments>
		<pubDate>Fri, 24 Jul 2009 11:22:55 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tips And Tricks]]></category>
		<category><![CDATA[DOU]]></category>
		<category><![CDATA[LinkAider]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://pro100pro.com/%d0%be%d1%82%d1%87%d0%b5%d1%82-dou-%d0%be%d1%82-linkaidercom</guid>
		<description><![CDATA[Привет! В интернете появился новый сервис анализа сайтов - LinkAider.com. В основном он будет полезен SEO и веб-мастерам. Решил на нем проверить сайт developers.org.ua, было проверено 10,000 страниц и 948,485 ссылок. Каждая страница запрашивалась не чаще, чем 1 раз в 2 секунды, вложенность кравла не ограничена и кравлер учитывал правила robots.txt. Резултаты проверки DOU. Что [...]]]></description>
			<content:encoded><![CDATA[<p>Привет!</p>
<p>В интернете появился новый сервис анализа сайтов - <a title="A powerful web tool to analyze websites." href="http://linkaider.com/">LinkAider.com</a>. В основном он будет полезен SEO и веб-мастерам.</p>
<p>Решил на нем проверить сайт developers.org.ua, было проверено 10,000 страниц и 948,485 ссылок. Каждая страница запрашивалась не чаще, чем 1 раз в 2 секунды, вложенность кравла не ограничена и кравлер учитывал правила robots.txt.</p>
<p><a title="Linkaider report DOU Links Test" href="http://linkaider.com/shared/summary/gusa7ymuz" target="_blank">Резултаты проверки DOU</a>.</p>
<p>Что интересного в отчете:</p>
<p>1. Было найдено <a title="1288 broken links" href="http://linkaider.com/shared/links/gusa7ymuz?filterTypeAll=0&amp;filterTypeInternal=1&amp;filterTypeExternal=1&amp;filterTypeFollow=1&amp;filterTypeNofollow=1&amp;filterTypeBrokenLinks=1&amp;filterTypeNormalLinks=0&amp;filterLinksChecked=1&amp;filterLinksUnchecked=1&amp;filterLinksNoredirect=1&amp;filterLinksRedirect=1&amp;key=gusa7ymuz&amp;shared/summary/gusa7ymuz=&amp;run=1" target="_blank">1,288</a> битых ссылок на <a title="Pages with broken links" href="http://linkaider.com/shared/pages/gusa7ymuz?filterShowAll=0&amp;filterShowDeadEndPage=1&amp;filterShowNormal=1&amp;filterShowSuccessPage=1&amp;filterShowFailedPage=1&amp;filterShowWithBrokenLinks=1&amp;filterShowWithoutBrokenLinks=1&amp;filterShowPageRedirect=1&amp;filterShowPageWithoutRedirect=1&amp;filterShowGoodEncodingPages=1&amp;filterShowBadEncodingPages=1&amp;key=gusa7ymuz&amp;shared/summary/gusa7ymuz=&amp;run=1" target="_blank">713</a> страницах, это 0.001% от общего количества проверенных ссылок, что очень хорошо.</p>
<p>2. Среднее количество ссылок на странице 94,85, но есть страницы на которых 500 и более ссылок, <a title="Pages with most of the links" href="http://linkaider.com/shared/pages/gusa7ymuz?filterShowAll=1&amp;filterShowDeadEndPage=1&amp;filterShowNormal=1&amp;filterShowSuccessPage=1&amp;filterShowFailedPage=1&amp;filterShowWithBrokenLinks=1&amp;filterShowWithoutBrokenLinks=1&amp;filterShowPageRedirect=1&amp;filterShowPageWithoutRedirect=1&amp;filterShowGoodEncodingPages=1&amp;filterShowBadEncodingPages=1&amp;key=gusa7ymuz&amp;shared/pages/gusa7ymuz?filterShowAll=1&amp;shared/summary/gusa7ymuz=&amp;orderUrl=linksNumberDesc&amp;run=1&amp;page=1" target="_blank">отчет</a>.</p>
<p>3. Также есть страницы размер которых выше 500Кб, <a title="Pages wtih biggest size" href="http://linkaider.com/shared/pages/gusa7ymuz?filterShowAll=1&amp;filterShowDeadEndPage=1&amp;filterShowNormal=1&amp;filterShowSuccessPage=1&amp;filterShowFailedPage=1&amp;filterShowWithBrokenLinks=1&amp;filterShowWithoutBrokenLinks=1&amp;filterShowPageRedirect=1&amp;filterShowPageWithoutRedirect=1&amp;filterShowGoodEncodingPages=1&amp;filterShowBadEncodingPages=1&amp;key=gusa7ymuz&amp;shared/pages/gusa7ymuz?filterShowAll=1&amp;shared/summary/gusa7ymuz=&amp;orderUrl=pageSizeDesc&amp;run=1&amp;page=1" target="_blank">отчет</a>.</p>
<p>4. Заголовок (мета тег Title) "Средние зарплаты - сообщество программистов" повторяется на <a title="Duplicate page titles" href="http://linkaider.com/shared/pages/gusa7ymuz?filterShowAll=1&amp;filterShowDeadEndPage=1&amp;filterShowNormal=1&amp;filterShowSuccessPage=1&amp;filterShowFailedPage=1&amp;filterShowWithBrokenLinks=1&amp;filterShowWithoutBrokenLinks=1&amp;filterShowPageRedirect=1&amp;filterShowPageWithoutRedirect=1&amp;filterShowGoodEncodingPages=1&amp;filterShowBadEncodingPages=1&amp;key=gusa7ymuz&amp;shared/summary/gusa7ymuz=&amp;filterTitleCrc=1305567758&amp;run=1" target="_blank">2,182</a> страницах (это 20% от просмотренных страниц!) и "developers.org.ua › Log In" повторяется на <a title="Duplicate page titles" href="http://linkaider.com/shared/pages/gusa7ymuz?filterShowAll=1&amp;filterShowDeadEndPage=1&amp;filterShowNormal=1&amp;filterShowSuccessPage=1&amp;filterShowFailedPage=1&amp;filterShowWithBrokenLinks=1&amp;filterShowWithoutBrokenLinks=1&amp;filterShowPageRedirect=1&amp;filterShowPageWithoutRedirect=1&amp;filterShowGoodEncodingPages=1&amp;filterShowBadEncodingPages=1&amp;key=gusa7ymuz&amp;shared/summary/gusa7ymuz=&amp;filterTitleCrc=3242633357&amp;run=1" target="_blank">1,708</a> страницах.</p>
<p>Битые ссылки, чаще всего это 404 ошибка, всегда являлась проблемой для любого сайта. Такие страницы могут говорить о проблеме в коде этой страницы или о банальной опечатке при наборе ссылки.<br />
Большое количество ссылок на странице, может сигнализировать о наличии спам ссылок на опасные(вирусные) или запрещенные сайты.<br />
Страницы размером свыше 1Мб, могут быть не доступны для некоторого сегмента пользователей и такие страницы создают избыточную нагрузку на сервер.<br />
Повторение заголовков плохо сказывается на SEO сайта, что уменьшает ее вес в поисковиках, таких как Google</p>
<p>Регистрируйтесь и высказывайте свое мнение по сервису, регистрация бесплатно.</p>
<p>Все мнения будут учтены.</p>
<p><em>С уважением, Web developer LinkAider.com</em></p>
<p class="zoundry_raven_tags"><!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com --> <span class="ztags"><span class="ztagspace">Del.icio.us</span> : <a class="ztag" rel="tag" href="http://del.icio.us/tag/DOU">DOU</a>, <a class="ztag" rel="tag" href="http://del.icio.us/tag/LinkAider">LinkAider</a>, <a class="ztag" rel="tag" href="http://del.icio.us/tag/seo">seo</a>, <a class="ztag" rel="tag" href="http://del.icio.us/tag/tool">tool</a></span><br />
<span class="ztags"><span class="ztagspace">Technorati</span> : <a class="ztag" rel="tag" href="http://www.technorati.com/tag/DOU">DOU</a>, <a class="ztag" rel="tag" href="http://www.technorati.com/tag/LinkAider">LinkAider</a>, <a class="ztag" rel="tag" href="http://www.technorati.com/tag/seo">seo</a>, <a class="ztag" rel="tag" href="http://www.technorati.com/tag/tool">tool</a></span></p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2009. |
<a href="http://pro100pro.com/otchet-dou-ot-linkaidercom">Permalink</a> |
<a href="http://pro100pro.com/otchet-dou-ot-linkaidercom#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/otchet-dou-ot-linkaidercom&title=Отчет DOU от LinkAider.com">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/dou" rel="tag">DOU</a>, <a href="http://pro100pro.com/tag/linkaider" rel="tag">LinkAider</a>, <a href="http://pro100pro.com/tag/seo" rel="tag">seo</a>, <a href="http://pro100pro.com/tag/tool" rel="tag">tool</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/otchet-dou-ot-linkaidercom/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ProductSearch #4 Разработка требований. Масштабы и ограничения проекта</title>
		<link>http://pro100pro.com/product-search-mashtab-ogranicheniya</link>
		<comments>http://pro100pro.com/product-search-mashtab-ogranicheniya#comments</comments>
		<pubDate>Mon, 14 Jul 2008 18:21:29 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Product Search]]></category>
		<category><![CDATA[productsearch]]></category>
		<category><![CDATA[исключения]]></category>
		<category><![CDATA[масшатабы]]></category>
		<category><![CDATA[объем]]></category>
		<category><![CDATA[ограничения]]></category>
		<category><![CDATA[проект]]></category>

		<guid isPermaLink="false">http://pro100pro.com/product-search-mashtab-ogranicheniya</guid>
		<description><![CDATA[Границы проекта определяют концепцию и круг действия предложенного решения. В ограничениях указываются определенные возможности, которые не будут включены в продукт. Рамки и ограничения помогают установить реалистичные ожидания заинтересованных лиц]]></description>
			<content:encoded><![CDATA[<blockquote><p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="granizi_proekta" src="http://pro100pro.com/wp-content/uploads/2008/07/granizi-proekta.jpg" width="179" align="right" border="0" /> Когда химик изобретает новую химическую реакцию, которая преобразует один тип химиката в другой, он пишет документ, в который входит раздел &quot;Рамки и ограничения&quot;, где описывает, что получиться и не получиться в результате этой реакции.</p>
<p>Карл Вигерс. Разработка требований к программному обеспечению</p>
</blockquote>
<p>Точно также для проекта по рарзаботке ПО следует определить его рамки и ограничения. Вам необходимо указать, что может делать система, а что не может.</p>
<p>Границы проекта определяют концепцию и круг действия предложенного решения. В ограничениях указываются определенные возможности, которые не будут включены в продукт. Рамки и ограничения помогают установить реалистичные ожидания заинтересованных лиц.</p>
<h3>Объем первоночальной версии ProductSearch</h3>
<p>Чтоб определить объем первоначальной версии, надо постараться обобщить основные запланированные функции и включить только самое необходимое в первую версию продукта.</p>
<p>Опишите характеристики качества, которые позволяют продукту предоставлять предполагаемые выгоды различным классам пользователей. </p>
<p>Сосредоточтесь на наиболее ценных функциях, имеющих максимально приемлемую стоимость, годных для самой широкой целевой аудитории, которые удастся создать как можно раньше.</p>
<p>(...)<br/>Read the rest of <a href="http://pro100pro.com/product-search-mashtab-ogranicheniya">ProductSearch #4 Разработка требований. Масштабы и ограничения проекта</a> (239 words)</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/product-search-mashtab-ogranicheniya">Permalink</a> |
<a href="http://pro100pro.com/product-search-mashtab-ogranicheniya#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/product-search-mashtab-ogranicheniya&title=ProductSearch #4 Разработка требований. Масштабы и ограничения проекта">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/productsearch" rel="tag">productsearch</a>, <a href="http://pro100pro.com/tag/isklucheniya" rel="tag">исключения</a>, <a href="http://pro100pro.com/tag/mashtabi" rel="tag">масшатабы</a>, <a href="http://pro100pro.com/tag/obem" rel="tag">объем</a>, <a href="http://pro100pro.com/tag/ogranicheniya" rel="tag">ограничения</a>, <a href="http://pro100pro.com/tag/proekt" rel="tag">проект</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/product-search-mashtab-ogranicheniya/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ProductSearch #3 Разработка требований. Образ Проекта</title>
		<link>http://pro100pro.com/product-search-obraz-proekta</link>
		<comments>http://pro100pro.com/product-search-obraz-proekta#comments</comments>
		<pubDate>Thu, 10 Jul 2008 07:53:32 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Product Search]]></category>
		<category><![CDATA[productsearch]]></category>
		<category><![CDATA[образ проекта]]></category>

		<guid isPermaLink="false">http://pro100pro.com/product-search-obraz-proekta</guid>
		<description><![CDATA[Образ проекта обеспечивает основу для принятия решений в течении жизненного цикла продукта.]]></description>
			<content:encoded><![CDATA[<blockquote><p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="164" alt="moonrise_sts35" src="http://pro100pro.com/wp-content/uploads/2008/07/moonrise-sts35.jpg" width="244" align="right" border="0" /> Образ проекта обеспечивает основу для принятия решений в течении жизненного цикла продукта.</p>
<p>Карл Вигерс. Разработка требований к программному обеспечению</p>
</blockquote>
<h3>Положение об образе проекта</h3>
<p>Положение об образе проекта выглядит следующим образом:   <br /><strong>Система предназначена</strong> для покупателей и поставщиков, <strong>покупателям</strong> нужна возможность запрашивать информацию о имеющихся продуктах и выбирать наиболее оптимальных поставщиков, а <strong>поставщикам</strong> возможность добавлять продукты и следить за ними на основе отчетов, <strong>данная</strong> система ProductSearch является информационной системой, <strong>которая</strong> обеспечит единую точку доступа к продуктам и поставщикам системы. </p>
<p>Система будет <strong>знать</strong> техническую информацию о продуктах, цену, историю изменения цены, информацию о поставщиках и информацию о действиях клиентов,     <br />что позволит искать, сравнивать продукты, выбирать оптимальных поставщиков и     <br />оптимизировать систему и ее содержимое на основе отчетов о покупателях.</p>
<p>Система будет <strong>хранить</strong> полную историю изменения цен. Эта система сэкономит покупателю время на принятие решения о покупке, а поставщику позволит более точно подходить к выбору добавляемых продуктов и рекламе собственного товара.</p>
<p>В <strong>отличие</strong> от аналогичных действующих систем, наш продукт будет хранить всю историю изменения цены продукта, давать аналитическую информацию для поставщиков и добавлять товары на основе потока данных, что позволит автоматизировать этот процесс.</p>
<h3>Основные функции</h3>
<ul>
<li>Поиск продуктов;</li>
<li>Сравнение двух и более продуктов;</li>
<li>Возможность проследить история изменения цены продукта;</li>
<li>Возможность создать и просмотреть отзывы о продукте;</li>
<li>Выбор лучшего поставщика продукта по параметру цена-качество;</li>
<li>Регистрация поставщиков;</li>
<li>Добавление потока продуктов поставщиками;</li>
<li>Аналитические отчеты для поставщиков.</li>
</ul>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/product-search-obraz-proekta">Permalink</a> |
<a href="http://pro100pro.com/product-search-obraz-proekta#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/product-search-obraz-proekta&title=ProductSearch #3 Разработка требований. Образ Проекта">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/productsearch" rel="tag">productsearch</a>, <a href="http://pro100pro.com/tag/obraz-proekta" rel="tag">образ проекта</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/product-search-obraz-proekta/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ProductSearch #2 Разработка требований. Бизнес-план</title>
		<link>http://pro100pro.com/product-search-biznes-plan</link>
		<comments>http://pro100pro.com/product-search-biznes-plan#comments</comments>
		<pubDate>Sun, 06 Jul 2008 12:13:39 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Product Search]]></category>
		<category><![CDATA[бизнес план]]></category>
		<category><![CDATA[бизнес риски]]></category>
		<category><![CDATA[бизнес цели]]></category>
		<category><![CDATA[бизнес-требования]]></category>

		<guid isPermaLink="false">http://pro100pro.com/product-search-biznes-plan</guid>
		<description><![CDATA[Бизнес-требования определяют и набор бизнес-задач, которые позволяет выполнять приложение и глубину уровня, до которого реализуется каждый вари-
ант использования.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="192" alt="bsplan" src="http://pro100pro.com/wp-content/uploads/2008/07/bsplan.jpg" width="206" align="right" border="0" /> </p>
<p>Продолжаем разрабатывать ProductSearch. </p>
<p>Вводная статья про разрабатываемый продукт: <a href="http://pro100pro.com/product-search-new-project">Создание проекта ProductSearch</a>.    <br />И статья про разработку требований - <a href="http://pro100pro.com/product-search-biznes-trebovanija">Бизнес-требования</a>.</p>
<blockquote><p>Бизнес-требования определяют и набор бизнес-задач (вариантов использования), которые позволяет выполнять приложение (ширина приложения), и глубину уровня, до которого реализуется каждый вариант использования. </p>
<p>Если бизнес-требования помогают вам определить, что некий вариант использования выходит за границы проекта, значит, что вы принимаете решение о ширине проекта.      <br />Глубина простирается от простой реализации до полной автоматизации с множеством вспомогательных средств. </p>
<p>Бизнес-требования позволяют понять, для каких вариантов использования необходима надежная и полная функциональность, а для каких достаточно поверхностной реализации, по крайней мере на первое время.</p>
<p>Карл Вигерс. Разработка требований к программному обеспечению</p>
</blockquote>
<p>Написание бизнес-требований, целей и видения продукта сложная тема,   <br />и для меня в каком-то смысле нова. Поэтому, мне было бы интересно услышать Ваше мнение про все ниже написанное.</p>
<p>План создания бизнес модели продукта:</p>
<ul>
<li>Исходные данные</li>
<li>Возможности бизнеса</li>
<li>Бизнес-цели и критерии успеха</li>
<li>Потребности клиента</li>
<li>Бизнес риски</li>
</ul>
<p>(...)<br/>Read the rest of <a href="http://pro100pro.com/product-search-biznes-plan">ProductSearch #2 Разработка требований. Бизнес-план</a> (275 words)</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/product-search-biznes-plan">Permalink</a> |
<a href="http://pro100pro.com/product-search-biznes-plan#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/product-search-biznes-plan&title=ProductSearch #2 Разработка требований. Бизнес-план">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/biznes-plan" rel="tag">бизнес план</a>, <a href="http://pro100pro.com/tag/biznes-riski" rel="tag">бизнес риски</a>, <a href="http://pro100pro.com/tag/biznes-celi" rel="tag">бизнес цели</a>, <a href="http://pro100pro.com/tag/biznes-trebovaniya" rel="tag">бизнес-требования</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/product-search-biznes-plan/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ProductSearch #1 Разработка требований. Бизнес-требования</title>
		<link>http://pro100pro.com/product-search-biznes-trebovanija</link>
		<comments>http://pro100pro.com/product-search-biznes-trebovanija#comments</comments>
		<pubDate>Thu, 26 Jun 2008 08:05:52 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Search]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[бизнес]]></category>
		<category><![CDATA[бизнес-требования]]></category>
		<category><![CDATA[Вигерс]]></category>
		<category><![CDATA[поиск]]></category>
		<category><![CDATA[продукт]]></category>
		<category><![CDATA[разработка ПО]]></category>
		<category><![CDATA[требования]]></category>

		<guid isPermaLink="false">http://pro100pro.com/product-search-biznes-trebovanija</guid>
		<description><![CDATA[Бизнес-требования к Product Search. Требования к ПО состоят из трех уровней - бизнес требования, требования пользователей и функциональные требования. Вдобавок каждая система имеет свои нефункциональные требования]]></description>
			<content:encoded><![CDATA[<p>Продолжаем разрабатывать ProductSearch. Прежде чем читать дальше, советую ознакомиться с <a href="http://pro100pro.com/product-search-new-project">первой статьей про ProductSearch</a>, где я описал цели и общий план развития проекта. </p>
<p>В этой статья я буду вести речь про требования к ПО - кратко, что такое требования и какие бизнес-требования я определил для ProductSearch.&#160; </p>
<p>Определение термина &quot;требования к ПО&quot;, Карл Вигерс определил как: </p>
<blockquote><p>Требования к ПО состоят из трех уровней - бизнес требования, требования пользователей и функциональные требования. Вдобавок каждая система имеет свои нефункциональные требования.</p>
</blockquote>
<p>Следующий рисунок демонстрирует способ представления этих требований:</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="460" alt="Виегерс Требования" src="http://pro100pro.com/wp-content/uploads/2008/06/wigers-trebovaniya2.jpg" width="568" border="0" /> </p>
<p>В первую очередь надо разработать бизнес-требования.    <br />Что такое бизнес-требования:</p>
<blockquote><p>Бизнес-требования (business requirements) содержат высокоуровневые цели организации или заказчиков системы. Как правило, их высказывают те, кто финансируют проект, покупатели системы, менеджер реальных пользователей, отдел маркетинга. В этом документе объясняется, почему организации нужна такая система, то есть описаны цели, которые организация намерена достичь с ее помощью. </p>
</blockquote>
<p>(...)<br/>Read the rest of <a href="http://pro100pro.com/product-search-biznes-trebovanija">ProductSearch #1 Разработка требований. Бизнес-требования</a> (67 words)</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/product-search-biznes-trebovanija">Permalink</a> |
<a href="http://pro100pro.com/product-search-biznes-trebovanija#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/product-search-biznes-trebovanija&title=ProductSearch #1 Разработка требований. Бизнес-требования">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/product" rel="tag">product</a>, <a href="http://pro100pro.com/tag/search" rel="tag">search</a>, <a href="http://pro100pro.com/tag/biznes" rel="tag">бизнес</a>, <a href="http://pro100pro.com/tag/biznes-trebovaniya" rel="tag">бизнес-требования</a>, <a href="http://pro100pro.com/tag/vigers" rel="tag">Вигерс</a>, <a href="http://pro100pro.com/tag/poisk" rel="tag">поиск</a>, <a href="http://pro100pro.com/tag/produkt" rel="tag">продукт</a>, <a href="http://pro100pro.com/tag/razrabotka-po" rel="tag">разработка ПО</a>, <a href="http://pro100pro.com/tag/trebovaniya" rel="tag">требования</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/product-search-biznes-trebovanija/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ProductSearch #0 Создание проекта</title>
		<link>http://pro100pro.com/product-search-new-project</link>
		<comments>http://pro100pro.com/product-search-new-project#comments</comments>
		<pubDate>Tue, 24 Jun 2008 10:06:05 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Search]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[productsearch]]></category>
		<category><![CDATA[архитектура]]></category>
		<category><![CDATA[кодирование]]></category>
		<category><![CDATA[поиск]]></category>
		<category><![CDATA[продукт]]></category>
		<category><![CDATA[проект]]></category>
		<category><![CDATA[тестирование]]></category>
		<category><![CDATA[требования]]></category>

		<guid isPermaLink="false">http://pro100pro.com/product-search-new-project</guid>
		<description><![CDATA[Цель проекта ProductSearch - является создание единой базы продуктов различных поставщиков и поиск по базе данных.]]></description>
			<content:encoded><![CDATA[<p>С этого сообщения я начну разрабатывать небольшой проект под названием ProductSearch.</p>
<h3>Описание проекта ProductSearch</h3>
<p>Цель проекта ProductSearch - является создание единой базы продуктов различных поставщиков и поиск по базе данных.</p>
<p>ProductSearch будет состоять из трех частей:</p>
<ul>
<li>Поиск по продуктам, результат поиска это ссылки на соответствующие категории продуктов</li>
<li>Категории продуктов</li>
<li>Страница описания продукта</li>
<li>Список предложений определенного продукта от поставщиков (магазинов) </li>
<li>Регулярное обновление базы продуктов предоставляемой поставщиками </li>
<li>Отчеты о поисковых результатах для поставщиков </li>
</ul>
<p>Чем этот проект может быть лучше уже существующих? На такой вопрос сложно ответить, но основным преимуществом будет возможность - бесплатно добавлять продукты в базу.&#160; Думаю основные преимущества проекта будут определены на этапе выработки требований.</p>
<p>Для поиска я планирую использовать Sphinx Search - мощный поисковый движок, который предоставляет массу возможностей для поиска, фильтрации, группировки и многие другие вкусности и полезности для организации поиска по базе данных.</p>
<p>Разработка будет итерационым процессом, поэтому первая версия будет включать в себя минимум требований достаточных для запуска системы.</p>
<p>Так как я планирую создать этот проект в образовательных целях, то вся работа над проектом будет публиковаться на этом блоге.</p>
<p>(...)<br/>Read the rest of <a href="http://pro100pro.com/product-search-new-project">ProductSearch #0 Создание проекта</a> (91 words)</p>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/product-search-new-project">Permalink</a> |
<a href="http://pro100pro.com/product-search-new-project#comments">4 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/product-search-new-project&title=ProductSearch #0 Создание проекта">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/opensource" rel="tag">OpenSource</a>, <a href="http://pro100pro.com/tag/productsearch" rel="tag">productsearch</a>, <a href="http://pro100pro.com/tag/architectura" rel="tag">архитектура</a>, <a href="http://pro100pro.com/tag/kodirovanie" rel="tag">кодирование</a>, <a href="http://pro100pro.com/tag/poisk" rel="tag">поиск</a>, <a href="http://pro100pro.com/tag/produkt" rel="tag">продукт</a>, <a href="http://pro100pro.com/tag/proekt" rel="tag">проект</a>, <a href="http://pro100pro.com/tag/testirovanie" rel="tag">тестирование</a>, <a href="http://pro100pro.com/tag/trebovaniya" rel="tag">требования</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/product-search-new-project/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Percona &#8211; Perfomance Consulting Experts</title>
		<link>http://pro100pro.com/percona-perfomance-consulting-experts</link>
		<comments>http://pro100pro.com/percona-perfomance-consulting-experts#comments</comments>
		<pubDate>Thu, 10 Jan 2008 16:51:09 +0000</pubDate>
		<dc:creator>Yaroslav Vorozhko</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[internal projects]]></category>
		<category><![CDATA[javascript client]]></category>
		<category><![CDATA[software php]]></category>
		<category><![CDATA[technologies software]]></category>
		<category><![CDATA[web developer]]></category>

		<guid isPermaLink="false">http://pro100pro.com/percona-perfomance-consulting-experts</guid>
		<description><![CDATA[Company: PerconaWorking Period: December 2007 - PresentURL: http://percona.com Technologies / Software: PHP (Web Development) MySQL (DBA) Javascript (client side) Roles: Web Developer Links of Developed Projects: internal projects © Yaroslav Vorozhko for Просто про веб технологии, 2008. &#124; Permalink &#124; No comment &#124; Add to del.icio.us Post tags: internal projects, javascript client, software php, technologies [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Percona MySQL Consulting" href="http://www.percona.com" rel="nofollow"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="55" alt="percona_logo" src="http://pro100pro.com/wp-content/uploads/2008/01/percona-logo1.jpg" width="218" border="0"></a> </p>
<div style="clear: both"></div>
<p><u>Company</u>: Percona<br /><u>Working Period</u>: December 2007 - Present<br /><u>URL</u>: <a href="http://percona.com">http://percona.com</a></p>
<p>Technologies / Software:</p>
<ul>
<li>PHP (Web Development)
<li>MySQL (DBA)
<li>Javascript (client side)</li>
</ul>
<p>Roles:</p>
<ul>
<li>Web Developer</li>
</ul>
<p>Links of Developed Projects:</p>
<ul>
<li>internal projects</li>
</ul>
<hr />
<p><small>© Yaroslav Vorozhko  for <a href="http://pro100pro.com">Просто про веб технологии</a>, 2008. |
<a href="http://pro100pro.com/percona-perfomance-consulting-experts">Permalink</a> |
<a href="http://pro100pro.com/percona-perfomance-consulting-experts#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://pro100pro.com/percona-perfomance-consulting-experts&title=Percona &#8211; Perfomance Consulting Experts">del.icio.us</a>
<br/>
Post tags: <a href="http://pro100pro.com/tag/internal-projects" rel="tag">internal projects</a>, <a href="http://pro100pro.com/tag/javascript-client" rel="tag">javascript client</a>, <a href="http://pro100pro.com/tag/software-php" rel="tag">software php</a>, <a href="http://pro100pro.com/tag/technologies-software" rel="tag">technologies software</a>, <a href="http://pro100pro.com/tag/web-developer" rel="tag">web developer</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://pro100pro.com/percona-perfomance-consulting-experts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

