<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0</id>
		<title>Сравнение движков полнотекстового поиска - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0"/>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;action=history"/>
		<updated>2026-08-21T22:57:46Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=42110&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* MySQL fulltext (5.5) */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=42110&amp;oldid=prev"/>
				<updated>2012-10-31T18:01:22Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;MySQL fulltext (5.5)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 18:01, 31 октября 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot; &gt;Строка 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексы можно создавать только на полях MyISAM-таблиц.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексы можно создавать только на полях MyISAM-таблиц.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — примерно половина от размера данных. Правда, нужно иметь ввиду, что отключить сохранение самих текстов вы не можете, поэтому к этим 50 % нужно добавить ещё 100 % — данные-то хранятся.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — примерно половина от размера данных. Правда, нужно иметь ввиду, что отключить сохранение самих текстов вы не можете, поэтому к этим 50 % нужно добавить ещё 100 % — данные-то хранятся.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Скорость индексации — в чистом виде приличная, примерно 1.5 МБ/с. Понятно, что ещё нужно прогонять через стеммер. Если наполнять индекс, на ходу вытаскивая данные из той же базы, и прогоняя через Perl-порт русского Snowball-стеммера — получается 314 КБ/с.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Скорость индексации — в чистом виде приличная, примерно 1.5 МБ/с. Понятно, что ещё нужно прогонять через стеммер. Если наполнять индекс, на ходу вытаскивая данные из той же базы, и прогоняя через Perl-порт русского Snowball-стеммера — получается 314 КБ/с. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;На самом деле в MySQL есть архитектура для подключения стеммеров плагинами («fulltext parser plugins»), вот только самих плагинов как-то нет… :)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Встроенного стеммера нет, стоп-слова вшиты английские, свои добавить нельзя. По умолчанию булев поиск идёт по «ИЛИ», поэтому для поиска по «И» нужно каждое слово превращать в «+слово».&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Встроенного стеммера нет, стоп-слова вшиты английские, свои добавить нельзя. По умолчанию булев поиск идёт по «ИЛИ», поэтому для поиска по «И» нужно каждое слово превращать в «+слово».&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть два режима — булев и обычный («natural language») поиск. Булев поиск просто проверяет, есть ли слова в документе и поддерживает логические операции, фразы и префиксный поиск, но не возвращает оценку релевантности (только 0 или 1). Обычный поиск умеет релевантность, но не умеет операторы. Поэтому, чтобы поддерживать и то, и другое — нужно дёргать один и тот же запрос в двух режимах.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть два режима — булев и обычный («natural language») поиск. Булев поиск просто проверяет, есть ли слова в документе и поддерживает логические операции, фразы и префиксный поиск, но не возвращает оценку релевантности (только 0 или 1). Обычный поиск умеет релевантность, но не умеет операторы. Поэтому, чтобы поддерживать и то, и другое — нужно дёргать один и тот же запрос в двух режимах.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29294&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* PostgreSQL Textsearch (9.1) */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29294&amp;oldid=prev"/>
				<updated>2011-08-25T11:55:13Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;PostgreSQL Textsearch (9.1)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 11:55, 25 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l77&quot; &gt;Строка 77:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 77:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индекс — инвертированный на основе [http://www.postgresql.org/docs/current/static/gin.html GIN] (обобщённый инвертированный индекс — Generalized Inverted iNdex). Раньше назывался [http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ Tsearch2], создан Олегом Бартуновым и Фёдором Сигаевым.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индекс — инвертированный на основе [http://www.postgresql.org/docs/current/static/gin.html GIN] (обобщённый инвертированный индекс — Generalized Inverted iNdex). Раньше назывался [http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ Tsearch2], создан Олегом Бартуновым и Фёдором Сигаевым.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть встроенные стеммеры, поддержка стоп-слов, синонимов, тезауруса (что-то типа словаря понятий, заменяет слова на другие «предпочитаемые»), словарей ISpell (хотя они, говорят, жутко тормозят при инициализации).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть встроенные стеммеры, поддержка стоп-слов, синонимов, тезауруса (что-то типа словаря понятий, заменяет слова на другие «предпочитаемые»), словарей ISpell (хотя они, говорят, жутко тормозят при инициализации).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть возможность при индексации прицепить к каждой лексеме «вес», который на самом деле не «вес», а аналог Xapian-префикса, то есть, название поля, из которого лексема пришла. Таких «весов» может быть всего 4 — A, B, C, D, и в дальнейшем их можно использовать при поиске. Пример построения &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'а из двух полей с «весами»: &amp;lt;tt&amp;gt;setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B')&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть возможность при индексации прицепить к каждой лексеме «вес», который на самом деле не «вес», а аналог Xapian-префикса, то есть, название поля, из которого лексема пришла. Таких «весов» может быть всего 4 — A, B, C, D, и в дальнейшем их можно использовать при поиске. Пример построения &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'а из двух полей с «весами»: &amp;lt;tt&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B')&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть ''отдельные'' функции для ранжирования результатов и подсветки искомых слов в цитатах. Ранжировать можно, присваивая численные веса «весам» ABCD, указанным выше (которые «поля»). Причём по умолчанию веса равны {0.1, 0.2, 0.4, 1.0}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть ''отдельные'' функции для ранжирования результатов и подсветки искомых слов в цитатах. Ранжировать можно, присваивая численные веса «весам» ABCD, указанным выше (которые «поля»). Причём по умолчанию веса равны {0.1, 0.2, 0.4, 1.0}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексируемый тип данных называется &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt; (text search vector). PostgreSQL позволяет создавать функциональные индексы, и в мануале по умолчанию предлагают создавать именно их — &amp;lt;tt&amp;gt;CREATE INDEX i ON t USING gin(to_tsvector(&amp;lt;поле&amp;gt;))&amp;lt;/tt&amp;gt;. Так вот: &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;не надо так делать!&amp;lt;/span&amp;gt; А то очень неприятно удивитесь скорости запросов. Обязательно создавайте отдельную колонку типа &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;, складывайте в неё свои &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы, и создавайте индекс на ней.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексируемый тип данных называется &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt; (text search vector). PostgreSQL позволяет создавать функциональные индексы, и в мануале по умолчанию предлагают создавать именно их — &amp;lt;tt&amp;gt;CREATE INDEX i ON t USING gin(to_tsvector(&amp;lt;поле&amp;gt;))&amp;lt;/tt&amp;gt;. Так вот: &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;не надо так делать!&amp;lt;/span&amp;gt; А то очень неприятно удивитесь скорости запросов. Обязательно создавайте отдельную колонку типа &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;, складывайте в неё свои &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы, и создавайте индекс на ней.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29292&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* Сравнительная таблица */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29292&amp;oldid=prev"/>
				<updated>2011-08-25T11:51:07Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Сравнительная таблица&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 11:51, 25 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot; &gt;Строка 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Интерфейс | SQL | SQL | API | API, SQL | Веб-сервис | API&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Интерфейс | SQL | SQL | API | API, SQL | Веб-сервис | API&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;abbr title=&amp;quot;Количество доступных интерфейсных библиотек к различным языкам&amp;quot;&amp;gt;Биндинги&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 9 | 6 + &amp;lt;abbr title=&amp;quot;MySQL-протокол, с которым можно работать почти отовсюду&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 8 | &amp;lt;abbr title=&amp;quot;C++, Perl, оригинал Lucene в Java, остальное полуживое&amp;quot;&amp;gt;3.5&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;abbr title=&amp;quot;Количество доступных интерфейсных библиотек к различным языкам&amp;quot;&amp;gt;Биндинги&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 9 | 6 + &amp;lt;abbr title=&amp;quot;MySQL-протокол, с которым можно работать почти отовсюду&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 8 | &amp;lt;abbr title=&amp;quot;C++, Perl, оригинал Lucene в Java, остальное полуживое&amp;quot;&amp;gt;3.5&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Операторы поиска | &amp;lt;abbr title=&amp;quot;Булевы, точная фраза. Префиксный поиск лучше не использовать, т.к. очень медленный.&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Только булевы? &lt;/del&gt;префиксный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, порядок слов, зоны&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-&amp;lt;Z&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Операторы поиска | &amp;lt;abbr title=&amp;quot;Булевы, точная фраза. Префиксный поиск лучше не использовать, т.к. очень медленный.&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Булевы, &lt;/ins&gt;префиксный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, порядок слов, зоны&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-&amp;lt;Z&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стеммеры | Нет | 15 | 15 | 15 | 31 | 15 + CJK&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стеммеры | Нет | 15 | 15 | 15 | 31 | 15 + CJK&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стоп-слова, синонимы | &amp;lt;abbr title=&amp;quot;Стоп-слова есть, но только намертво зашитые английские&amp;quot;&amp;gt;Нет&amp;lt;/abbr&amp;gt; | Да | Да | Да | Да | Да&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стоп-слова, синонимы | &amp;lt;abbr title=&amp;quot;Стоп-слова есть, но только намертво зашитые английские&amp;quot;&amp;gt;Нет&amp;lt;/abbr&amp;gt; | Да | Да | Да | Да | Да&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29291&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* Сравнительная таблица */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29291&amp;oldid=prev"/>
				<updated>2011-08-25T11:50:18Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Сравнительная таблица&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 11:50, 25 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot; &gt;Строка 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Интерфейс | SQL | SQL | API | API, SQL | Веб-сервис | API&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Интерфейс | SQL | SQL | API | API, SQL | Веб-сервис | API&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;abbr title=&amp;quot;Количество доступных интерфейсных библиотек к различным языкам&amp;quot;&amp;gt;Биндинги&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 9 | 6 + &amp;lt;abbr title=&amp;quot;MySQL-протокол, с которым можно работать почти отовсюду&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 8 | &amp;lt;abbr title=&amp;quot;C++, Perl, оригинал Lucene в Java, остальное полуживое&amp;quot;&amp;gt;3.5&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;abbr title=&amp;quot;Количество доступных интерфейсных библиотек к различным языкам&amp;quot;&amp;gt;Биндинги&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Распространённая СУБД, почти все языки&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 9 | 6 + &amp;lt;abbr title=&amp;quot;MySQL-протокол, с которым можно работать почти отовсюду&amp;quot;&amp;gt;&amp;amp;forall;&amp;lt;/abbr&amp;gt; | 8 | &amp;lt;abbr title=&amp;quot;C++, Perl, оригинал Lucene в Java, остальное полуживое&amp;quot;&amp;gt;3.5&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Операторы поиска | &amp;lt;abbr title=&amp;quot;Булевы, точная фраза. Префиксный поиск лучше не использовать, т.к. очень медленный.&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Только булевы&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, порядок слов, зоны&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-&amp;lt;Z&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Операторы поиска | &amp;lt;abbr title=&amp;quot;Булевы, точная фраза. Префиксный поиск лучше не использовать, т.к. очень медленный.&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Только булевы&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;? префиксный поиск&lt;/ins&gt;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск, точная фраза, слова вблизи, диапазоны, порядок слов, зоны&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-&amp;lt;Z&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt; | &amp;lt;abbr title=&amp;quot;Булевы, префиксный поиск (+ wildcard'ы), точная фраза, слова вблизи, диапазоны, приблизительный поиск&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;*&amp;quot;N-~&amp;lt;/nowiki&amp;gt;&amp;lt;/abbr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стеммеры | Нет | 15 | 15 | 15 | 31 | 15 + CJK&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стеммеры | Нет | 15 | 15 | 15 | 31 | 15 + CJK&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стоп-слова, синонимы | &amp;lt;abbr title=&amp;quot;Стоп-слова есть, но только намертво зашитые английские&amp;quot;&amp;gt;Нет&amp;lt;/abbr&amp;gt; | Да | Да | Да | Да | Да&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Стоп-слова, синонимы | &amp;lt;abbr title=&amp;quot;Стоп-слова есть, но только намертво зашитые английские&amp;quot;&amp;gt;Нет&amp;lt;/abbr&amp;gt; | Да | Да | Да | Да | Да&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29290&amp;oldid=prev</id>
		<title>VitaliyFilippov в 11:49, 25 августа 2011</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29290&amp;oldid=prev"/>
				<updated>2011-08-25T11:49:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 11:49, 25 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l77&quot; &gt;Строка 77:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 77:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индекс — инвертированный на основе [http://www.postgresql.org/docs/current/static/gin.html GIN] (обобщённый инвертированный индекс — Generalized Inverted iNdex). Раньше назывался [http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ Tsearch2], создан Олегом Бартуновым и Фёдором Сигаевым.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индекс — инвертированный на основе [http://www.postgresql.org/docs/current/static/gin.html GIN] (обобщённый инвертированный индекс — Generalized Inverted iNdex). Раньше назывался [http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ Tsearch2], создан Олегом Бартуновым и Фёдором Сигаевым.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть встроенные стеммеры, поддержка стоп-слов, синонимов, тезауруса (что-то типа словаря понятий, заменяет слова на другие «предпочитаемые»), словарей ISpell (хотя они, говорят, жутко тормозят при инициализации).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть встроенные стеммеры, поддержка стоп-слов, синонимов, тезауруса (что-то типа словаря понятий, заменяет слова на другие «предпочитаемые»), словарей ISpell (хотя они, говорят, жутко тормозят при инициализации).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть ''отдельные'' функции для ранжирования результатов и подсветки искомых слов в цитатах.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* Есть возможность при индексации прицепить к каждой лексеме «вес», который на самом деле не «вес», а аналог Xapian-префикса, то есть, название поля, из которого лексема пришла. Таких «весов» может быть всего 4 — A, B, C, D, и в дальнейшем их можно использовать при поиске. Пример построения &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'а из двух полей с «весами»: &amp;lt;tt&amp;gt;setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B')&amp;lt;/tt&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Есть ''отдельные'' функции для ранжирования результатов и подсветки искомых слов в цитатах&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Ранжировать можно, присваивая численные веса «весам» ABCD, указанным выше (которые «поля»). Причём по умолчанию веса равны {0.1, 0.2, 0.4, 1.0}&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексируемый тип данных называется &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt; (text search vector). PostgreSQL позволяет создавать функциональные индексы, и в мануале по умолчанию предлагают создавать именно их — &amp;lt;tt&amp;gt;CREATE INDEX i ON t USING gin(to_tsvector(&amp;lt;поле&amp;gt;))&amp;lt;/tt&amp;gt;. Так вот: &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;не надо так делать!&amp;lt;/span&amp;gt; А то очень неприятно удивитесь скорости запросов. Обязательно создавайте отдельную колонку типа &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;, складывайте в неё свои &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы, и создавайте индекс на ней.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексируемый тип данных называется &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt; (text search vector). PostgreSQL позволяет создавать функциональные индексы, и в мануале по умолчанию предлагают создавать именно их — &amp;lt;tt&amp;gt;CREATE INDEX i ON t USING gin(to_tsvector(&amp;lt;поле&amp;gt;))&amp;lt;/tt&amp;gt;. Так вот: &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;не надо так делать!&amp;lt;/span&amp;gt; А то очень неприятно удивитесь скорости запросов. Обязательно создавайте отдельную колонку типа &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;, складывайте в неё свои &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы, и создавайте индекс на ней.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Объясняю, почему: функция ранжирования результатов отдельная, и тоже работает с &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ом. Если он не хранится, то должен вычисляться на лету при каждом запросе для каждого документа, а это очень хреново влияет на производительность, особенно, когда запрос находит много документов. То есть, если в запрос тупо включить сортировку по релевантности — &amp;lt;tt&amp;gt;ORDER BY ts_rank(to_tsvector(field), &amp;lt;query&amp;gt;) DESC&amp;lt;/tt&amp;gt; — будет гораздо медленнее MySQL’я :).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Объясняю, почему: функция ранжирования результатов отдельная, и тоже работает с &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ом. Если он не хранится, то должен вычисляться на лету при каждом запросе для каждого документа, а это очень хреново влияет на производительность, особенно, когда запрос находит много документов. То есть, если в запрос тупо включить сортировку по релевантности — &amp;lt;tt&amp;gt;ORDER BY ts_rank(to_tsvector(field), &amp;lt;query&amp;gt;) DESC&amp;lt;/tt&amp;gt; — будет гораздо медленнее MySQL’я :).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Заодно, в качестве оптимизации дискового пространства, можно не хранить полный текст документов в индексе.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Заодно, в качестве оптимизации дискового пространства, можно не хранить полный текст документов в индексе.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Из операторов поиска — &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;только &lt;/del&gt;AND, OR и NOT. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ни префиксов, ни поиска &lt;/del&gt;близлежащих слов, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ни &lt;/del&gt;точных форм, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ни &lt;/del&gt;фраз&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, ничего&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Из операторов поиска — AND, OR и NOT &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;и префиксный поиск&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Поиска &lt;/ins&gt;близлежащих слов, точных форм, фраз &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;нет&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — где-то 150 % от размера данных, если сами тексты не хранить, а хранить только &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — где-то 150 % от размера данных, если сами тексты не хранить, а хранить только &amp;lt;tt&amp;gt;tsvector&amp;lt;/tt&amp;gt;'ы.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Скорость индексации — пока данных мало, 1.5 МБ/с, с ростом индекса потихоньку падает, но если сами тексты не хранить, то, вроде, устаканивается. На всё тех же данных багзиллы получилось в среднем 522 КБ/с, хотя к концу индексации было меньше, чем в начале.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Скорость индексации — пока данных мало, 1.5 МБ/с, с ростом индекса потихоньку падает, но если сами тексты не хранить, то, вроде, устаканивается. На всё тех же данных багзиллы получилось в среднем 522 КБ/с, хотя к концу индексации было меньше, чем в начале.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29216&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* Сравнительная таблица */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29216&amp;oldid=prev"/>
				<updated>2011-08-22T15:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Сравнительная таблица&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:48, 22 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l164&quot; &gt;Строка 164:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PostgreSQL | Тезаурус, ISpell.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PostgreSQL | Тезаурус, ISpell.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xapian | Коррекция опечаток, фасеты, «недовведённые» запросы.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xapian | Коррекция опечаток, фасеты, «недовведённые» запросы.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sphinx | Синонимы со спецсимволами, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;полуразделители&amp;quot; &lt;/del&gt;(blend_chars). Зоны (абзацы/предложения/теги). Инфиксы, MVA, слияние индексов (не обновляемых). Тюнинг производительности.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sphinx | Синонимы со спецсимволами, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;«полуразделители» &lt;/ins&gt;(blend_chars). Зоны (абзацы/предложения/теги). Инфиксы, MVA, слияние индексов (не обновляемых). Тюнинг производительности.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Solr | Почти всё, что душа пожелает (но зон нет!). Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Solr | Почти всё, что душа пожелает (но зон нет!). Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CLucene | Фильтрация документов, фасеты, анализаторы, explain. Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CLucene | Фильтрация документов, фасеты, анализаторы, explain. Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29213&amp;oldid=prev</id>
		<title>VitaliyFilippov в 15:43, 22 августа 2011</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29213&amp;oldid=prev"/>
				<updated>2011-08-22T15:43:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:43, 22 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Так как в интернетах тема сравнения движков полнотекстового поиска не раскрыта — есть либо разрозненные комменты на хабре, либо бессмысленные сравнения от «специальных сравнительных сайтов», решил всё-таки сам сравнить [http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html MySQL FULLTEXT] vs [http://www.xapian.org/ Xapian] vs [http://sphinxsearch.com Sphinx] vs [http://lucene.apache.org/ Lucene]/[http://lucene.apache.org/solr/ Solr] vs [http://postgresql.org/ PostgreSQL] [http://www.postgresql.org/docs/current/static/textsearch.html Textsearch]. Заодно попробовал [http://sourceforge.net/projects/clucene/ CLucene], а в процессе ещё и запатчил несколько багов и нашёл несколько болячек в разных движках.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Так как в интернетах тема сравнения движков полнотекстового поиска не раскрыта — есть либо разрозненные комменты на хабре, либо бессмысленные сравнения от «специальных сравнительных сайтов», решил всё-таки сам сравнить [http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html MySQL FULLTEXT] vs [http://www.xapian.org/ Xapian] vs [http://sphinxsearch.com Sphinx] vs [http://lucene.apache.org/ Lucene]/[http://lucene.apache.org/solr/ Solr] vs [http://postgresql.org/ PostgreSQL] [http://www.postgresql.org/docs/current/static/textsearch.html Textsearch]. Заодно попробовал [http://sourceforge.net/projects/clucene/ CLucene], а в процессе ещё и запатчил несколько багов и нашёл несколько болячек в разных движках.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Сравнение проводилось с точки зрения средненькой базы — тестировал на данных Багзиллы, содержащей в районе 80000 багов, текстов было ~330 мб. Со всеми движками работал из Perl’а, то есть, заодно тестировал интерфейсные библиотеки.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Сравнение проводилось с точки зрения средненькой базы — тестировал на данных Багзиллы, содержащей в районе 80000 багов, текстов было ~330 мб. Со всеми движками работал из Perl’а, то есть, заодно тестировал интерфейсные библиотеки&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. ОС Debian Linux Unstable (Wheezy/Sid), процессор Core 2 Duo 3 ГГц&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Итак, встречайте:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Итак, встречайте:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot; &gt;Строка 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — пишут, что примерно равен размеру данных, это не так, реально больше раза в 2. Пишут, если не хранить позиции слов в документах, станет в 2 раза меньше. Но извините, Sphinx тоже хранит позиции, а индекс у него в 2 раза меньше данных. Если прогнать &amp;lt;tt&amp;gt;xapian-compact&amp;lt;/tt&amp;gt; (дефрагментация БД) — индекс таки да, уменьшается, но всё равно остаётся где-то в 1.7 раза больше данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Размер индекса — пишут, что примерно равен размеру данных, это не так, реально больше раза в 2. Пишут, если не хранить позиции слов в документах, станет в 2 раза меньше. Но извините, Sphinx тоже хранит позиции, а индекс у него в 2 раза меньше данных. Если прогнать &amp;lt;tt&amp;gt;xapian-compact&amp;lt;/tt&amp;gt; (дефрагментация БД) — индекс таки да, уменьшается, но всё равно остаётся где-то в 1.7 раза больше данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Ага, причина найдена — Xapian всегда индексирует и основы, и точные формы слов. Отключить индексацию точных форм нельзя, обидно, поставил на эту тему им [http://trac.xapian.org/ticket/563 баг 563].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Ага, причина найдена — Xapian всегда индексирует и основы, и точные формы слов. Отключить индексацию точных форм нельзя, обидно, поставил на эту тему им [http://trac.xapian.org/ticket/563 баг 563].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Ищет быстро. Тестировал так: искал по нескольким соседним словам длиной не меньше 2 символов, в режиме STEM_ALL, взятым из заголовков багов (искал не по «ИЛИ», а «И»), причём каждое слово заменял на &amp;lt;tt&amp;gt;(слово OR title:слово OR private:слово)&amp;lt;/tt&amp;gt;, то есть на поиск по трём полям вместо одного, ограничивал количество результатов 1000&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, и всё это на Core 2 Duo 3 ГГц&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Ищет быстро. Тестировал так: искал по нескольким соседним словам длиной не меньше 2 символов, в режиме STEM_ALL, взятым из заголовков багов (искал не по «ИЛИ», а «И»), причём каждое слово заменял на &amp;lt;tt&amp;gt;(слово OR title:слово OR private:слово)&amp;lt;/tt&amp;gt;, то есть на поиск по трём полям вместо одного, ограничивал количество результатов 1000.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 3 словах — в среднем 14 мс, максимум 135 мс.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 3 словах — в среднем 14 мс, максимум 135 мс.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 2 словах — в среднем 29 мс, максимум 137 мс.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 2 словах — в среднем 29 мс, максимум 137 мс.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29184&amp;oldid=prev</id>
		<title>VitaliyFilippov в 14:25, 20 августа 2011</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29184&amp;oldid=prev"/>
				<updated>2011-08-20T14:25:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:25, 20 августа 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot; &gt;Строка 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Немножко бардак с интерфейсами и фичами: обновление реалтайм индекса только через SphinxQL; синтаксис поиска во всех трёх интерфейсах разный (обычный, SphinxQL, SphinxSE); штук 5 режимов поиска, из которых 4 obsolete; indexer не может перестраивать реалтайм индексы; TRUNCATE индекса через SphinxQL сделать нельзя, посмотреть, сколько в индексе записей, тоже нельзя…&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Немножко бардак с интерфейсами и фичами: обновление реалтайм индекса только через SphinxQL; синтаксис поиска во всех трёх интерфейсах разный (обычный, SphinxQL, SphinxSE); штук 5 режимов поиска, из которых 4 obsolete; indexer не может перестраивать реалтайм индексы; TRUNCATE индекса через SphinxQL сделать нельзя, посмотреть, сколько в индексе записей, тоже нельзя…&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* На этом недостатки заканчиваются — есть сервер поиска, с которым можно общаться по собственному протоколу или протоколу MySQL, куча разных возможностей, индексирует и ищет очень быстро, размер индекса — примерно 1/3 данных. Может увеличиться раза в 2, если включить индексацию точных словоформ.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* На этом недостатки заканчиваются — есть сервер поиска, с которым можно общаться по собственному протоколу или протоколу MySQL, куча разных возможностей, индексирует и ищет очень быстро, размер индекса — примерно 1/3 данных. Может увеличиться раза в 2, если включить индексацию точных словоформ.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Встроены русский, английский и чешский стеммеры и препроцессоры Soundex и Metaphone (для сравнения английских слов по звучанию). Стеммеры для других языков можно тоже подключить, только нужно собирать с ключиком &amp;lt;tt&amp;gt;--with-libstemmer&amp;lt;/tt&amp;gt;. Поддержка стоп-слов, разумеется, есть.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Встроены русский, английский и чешский стеммеры и препроцессоры Soundex и Metaphone (для сравнения английских слов по звучанию). Стеммеры для других языков можно тоже подключить, только нужно собирать с ключиком &amp;lt;tt&amp;gt;--with-libstemmer&amp;lt;/tt&amp;gt;. Поддержка стоп-слов, разумеется, есть&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Синонимы тоже, причём есть обычные, а есть «tokenizing exceptions», которые могут включать в себя спецсимволы. Также есть «[http://sphinxsearch.com/docs/current.html#conf-blend-chars blend_chars]» — символы, которые одновременно считаются и разделителями, и входящими в слова — например, чтобы «AT&amp;amp;T» превратилось в слова «AT», «T» и «AT&amp;amp;T»&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Из прикольных необычных фич — умеет инфиксный поиск (для тех, кто хотел быстро искать по подстроке!), многозначные поля (MVA), умеет индексировать по абзацам и предложениям и даже по содержимому заранее заданных HTML-тегов. Также может подсвечивать искомые слова в цитатах и многое другое. Правда, MVA и инфиксы не поддерживаются (пока что?) в обновляемых индексах.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Из прикольных необычных фич — умеет инфиксный поиск (для тех, кто хотел быстро искать по подстроке!), многозначные поля (MVA), умеет индексировать по абзацам и предложениям и даже по содержимому заранее заданных HTML-тегов. Также может подсвечивать искомые слова в цитатах и многое другое. Правда, MVA и инфиксы не поддерживаются (пока что?) в обновляемых индексах.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексация очень быстрая — чистая скорость с реалтайм индексом 6.7 МБ/с (загрузка SQL-дампа), с обычным индексом — вообще 12 МБ/с (загрузка [http://sphinxsearch.com/docs/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;manual-2.0.1&lt;/del&gt;.html#xmlpipe2 xmlpipe2]-дампа). «Нечистая» скорость (из Perl’а, с вычиткой данных на лету из MySQL) — 4.5 МБ/с. С инфиксами всё, естественно, сильно замедляется — 440 КБ/с, куча ввода-вывода — 10.5 ГБ, и индекс получается 3 ГБ размером на 330 МБ данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Индексация очень быстрая — чистая скорость с реалтайм индексом 6.7 МБ/с (загрузка SQL-дампа), с обычным индексом — вообще 12 МБ/с (загрузка [http://sphinxsearch.com/docs/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;current&lt;/ins&gt;.html#xmlpipe2 xmlpipe2]-дампа). «Нечистая» скорость (из Perl’а, с вычиткой данных на лету из MySQL) — 4.5 МБ/с. С инфиксами всё, естественно, сильно замедляется — 440 КБ/с, куча ввода-вывода — 10.5 ГБ, и индекс получается 3 ГБ размером на 330 МБ данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Поиск вообще реактивный:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Поиск вообще реактивный:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 3 словах — в среднем 7 мс, максимум 75 мс.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** В 5 потоков на 3 словах — в среднем 7 мс, максимум 75 мс.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l164&quot; &gt;Строка 164:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PostgreSQL | Тезаурус, ISpell.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PostgreSQL | Тезаурус, ISpell.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xapian | Коррекция опечаток, фасеты, «недовведённые» запросы.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xapian | Коррекция опечаток, фасеты, «недовведённые» запросы.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sphinx | Зоны (абзацы/предложения/теги). Инфиксы, MVA, слияние индексов (не обновляемых). Тюнинг производительности.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sphinx | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Синонимы со спецсимволами, &amp;quot;полуразделители&amp;quot; (blend_chars). &lt;/ins&gt;Зоны (абзацы/предложения/теги). Инфиксы, MVA, слияние индексов (не обновляемых). Тюнинг производительности.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Solr | Почти всё, что душа пожелает (но зон нет!). Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Solr | Почти всё, что душа пожелает (но зон нет!). Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CLucene | Фильтрация документов, фасеты, анализаторы, explain. Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CLucene | Фильтрация документов, фасеты, анализаторы, explain. Высокая расширяемость.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29161&amp;oldid=prev</id>
		<title>VitaliyFilippov: /* Заключение */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;diff=29161&amp;oldid=prev"/>
				<updated>2011-08-19T16:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Заключение&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://lib.custis.ru/index.php?title=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&amp;amp;diff=29161&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	</feed>