
рд╣рдорд╛рд░рд╛ рдПрдХ рд╢реМрдХ рд╣реИ - рдереЛрдХ рдореЗрдВ рдкреЗрдп рдФрд░ рднреЛрдЬрди рдмреЗрдЪрдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ред
рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдЧреНрд░рд╛рд╣рдХ рд░реЗрд╕реНрддрд░рд╛рдВ рдФрд░ рдХреИрдлреЗ рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВ рдЬреЛ рдЕрдЧрд▓реЗ рджрд┐рди рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рд╛рде рдереЛрдХ рд╕рд╛рдорд╛рди рдХрд╛ рдСрд░реНрдбрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЬрдм рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 20 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИ, рддреЛ рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреА рддрд░рд╣ рдХреА рдЦреЛрдЬ рдмрд╣реБрдд рдЧрд▓рдд рд╣реЛ рдЧрдИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рди рд▓реЛрдб рдХрд┐рдпрд╛ рдпрд╛ рд╕рд╛рдорд╛рди рдХреЗ рдирд╛рдо рд▓реИрдЯрд┐рди / рд╕рд┐рд░рд┐рд▓рд┐рдХ рдереЗред рдЦреЛрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рд▓реИрдЯрд┐рди-рд╕рд┐рд░рд┐рд▓рд┐рдХ-рд▓реИрдЯрд┐рди рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде, рд╡реНрдпрд╛рдХрд░рдг рд╕рдВрдмрдВрдзреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░, рд╣рдордиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЦреЛрдЬ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореГрдд рдЕрдВрдд рддрд░реАрдХрд╛ рд╣реИред
рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ
рдПрдХ рд╣реА рд╡рд┐рдХреАрдорд╛рд░реНрдЯ рдкрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕реБрд▓рдЭрд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рд╕реВрд╕реА рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рдорд╛рд░реЗ рдИрд░реНрд╖реНрдпрд╛ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдиреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рднреА рдареАрдХ рдХрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдХрд╛-рдХреЛрд▓рд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рд╣рдо рдХреЛрдХрд╛-рдХреЛрд▓рд╛ рдФрд░ рдХреЛрдХреЗрди рджреЛрдиреЛрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдбреАрдмреАрдПрдордПрд╕ рд╣реИ, рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЬрд╛рджреБрдИ рд╣реИред
рдПрдХ рддрдХрдиреАрдХреА рд╕рдорд╛рдзрд╛рди рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдЫреЛрдЯреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдореЗрдВ FullText Search Engine рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд╛рджрд▓реЛрдВ рдореЗрдВ рдмрд╣рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдмрд╣реБрдд рдЬрд▓реНрдж "рд▓реЛрдЧреЛрдВ рдХреА рдЦреЛрдЬ" рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреИрд╕реЗ
рдлрд╝реЗрд╕ рдлрд┐рд▓реНрдЯрд░ рдПрдХ рдирд┐рд╢реБрд▓реНрдХ рдкрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╢реБрд░реВ рдХреАред
рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛, FullText Search MS SQL 2008 рдЙрдиреНрдирдд рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ DBMS рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ! рдПрдХ рд╣рдлреНрддреЗ рдХреЗ рд▓рд┐рдП MS SQL рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдФрд░ рдкрд╣рд▓реБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдореБрдлреНрдд рдкрд╛рдИ рдирд╣реАрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЬрд╛рджреБрдИ
Lucene.NET ,
Solr ,
Sphinx рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдПрдХ рд▓реЗрдЦ рдореЗрдВ рдЖрдПред
рдЗрдВрдЬрди рдЪрдпрди
рдЙрдкрд░реЛрдХреНрдд рдЗрдВрдЬрдиреЛрдВ рдХреЗ рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛:
- рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
- рдбреЗрд╡рд▓рдкрд░ рд╕рдорд░реНрдерди рдФрд░ рдПрдХ рдмрдбрд╝рд╛ FAQ рд╣реИ
- MS SQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
- рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдПрдбреЗрдкреНрдЯрд░ рд╣реИ
- рдкрд╣рд▓реВ рд╣реИрдВ
рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реНрдлрд┐рдВрдХреНрд╕ рд╡рд┐рдиреНрдпрд╛рд╕
рд╣рдорд╛рд░рд╛
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди , рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рдЖрдХреГрддрд┐ рд╡рд┐рдЬреНрдЮрд╛рди рд╕реНрдЯреЗрдо_рдирд╛рд░реВ, рд╕рд╛рдЙрдВрдбреЗрдХреНрд╕, рдореЗрдЯрд╛рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (
рдпрд╣рд╛рдВ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд
рд╣реИ , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдкреНрдпреВрдорд╛ )ред
MS SQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдФрд░ рдЙрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ Sphinx рд╕рдордп-рд╕рдордп рдкрд░ рдЦреАрдВрдЪрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рди рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд▓реНрдХрд┐ рдмреНрд░рд╛рдВрдбреЛрдВ, рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ред
ASP.NET рдореЗрдВ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдУрдкрди
рд╕реЛрд░реНрд╕ Sphinx.Client рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ SphinxHelper Sphinx.Client рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Sphinx рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧред
SphinxHelperusing System; using System.Collections.Generic; using System.Linq; using System.Text; using Sphinx.Client.Connections; using Sphinx.Client.Commands.Search; using System.Collections; using Sphinx.Client.Commands.Collections; using Sphinx.Client.Commands.Attributes.Filters; namespace Project.Helpers { public class SphinxHelper { private static ConnectionBase CreateConnection() { PersistentTcpConnection p_connection = new PersistentTcpConnection("127.0.0.1", 9312); p_connection.ConnectionTimeout = 10000; return p_connection; } public static IList<SearchQueryResult> Query(string queryText, string indexes, int limitPerIndex) { return Query("", queryText, indexes, null, limitPerIndex, 0, MatchMode.Extended2, MatchRankMode.WordCount, ResultsSortMode.Extended, "@weight DESC", ""); } public static IList<SearchQueryResult> Query(string select, string match, string indexes, AttributeFilterList filters, int pageSize, int offset, MatchMode matchMode, MatchRankMode rankingMode, ResultsSortMode sortMode, string sortBy, string groupBy) { IEnumerable<string> p_idxArray = indexes.Split(','); SearchQuery p_query = null; pageSize = pageSize <= 0 ? 99999999 : pageSize; IList<SearchQueryResult> p_ret = new System.Collections.Generic.List<SearchQueryResult>(); using (ConnectionBase connection = CreateConnection()) { SearchCommand p_search = new SearchCommand(connection); foreach (string p_idx in p_idxArray) { p_query = new SearchQuery(match, p_idx); p_query.Select = select; p_query.MatchMode = matchMode; p_query.RankingMode = rankingMode; p_query.SortMode = sortMode; p_query.SortBy = sortBy; if (!String.IsNullOrEmpty(groupBy)) { p_query.GroupBy = groupBy; p_query.GroupSort = sortBy; p_query.GroupFunc = ResultsGroupFunction.Attribute; if (!String.IsNullOrEmpty(sortBy)) { p_query.SortBy = string.Empty; } } p_query.Limit = pageSize; p_query.Offset = offset; // , if (filters != null && filters.Count > 0) foreach (AttributeFilterBase p_filter in filters) p_query.AttributeFilters.Add(p_filter); p_query.Select = select; // , //search.QueryList.Add(p_query); p_search.QueryList.Clear(); p_search.QueryList.Add(p_query); p_search.Execute(); foreach (SearchQueryResult p_result in p_search.Result.QueryResults) p_ret.Add(p_result); } return p_ret; } } } }
SearchQueryResult рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП
рдмреНрд░рд╛рдВрдбреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЦреЛрдЬ рдкреГрд╖реНрда
рдмрдирд╛рддреЗ рд╕рдордп , рд╣рдо
jTemplates рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░рддреЗ рд╣реИрдВ , рдЬреЛ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ SphinxHelper рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред
рдкреЗрдЬ рдЬреЗрдирд░реЗрд╢рди рд╕рд░реНрдЪ рдХрд░реЗрдВ рдЦреЛрдЬ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП
рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рднреА рдмрд╣реБрдд рд╕рд░рд▓ рдерд╛ рдЬреЛ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╕реЗ рдбреЗрдЯрд╛ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд╕реНрд╡рдд: рдкреВрд░реНрдг function setAutoComplete(s) { var elem = $("#searchTextBox"); elem.autocomplete({ minLength: 2, source: function (request, response) { $.ajax({ type: "POST", url: currentHost() + "WebServices/Common.asmx/GetSearchComplete", data: "{searchTerm:'" + elem.val() + "'}", contentType: "application/json; charset=utf-8", success: function (msg) { if (msg.d != "") response($.parseJSON(msg.d)); else response('') } }); }, select: function (event, ui) { elem.addClass('ui-autocomplete-loading'); window.location.href = ui.item.linkUrl; elem.selected = ui.item; return false; }, dataType: "json" }) .data("autocomplete")._renderItem = function (ul, item) { return $("<li></li>") .data("item.autocomplete", item) .append("<a href='" + item.linkUrl + "'><ul class='search-complete'><li class='pict'><img src='" + item.pictUrl + "'/></li><li class='name'>" + item.label + "</li></ul></a>") .appendTo(ul); }; elem.keydown(function (e) { if (e.keyCode == 13) { if (typeof (elem.selected) == 'undefined') { elem.addClass('ui-autocomplete-loading'); SearchClick();
Sphinx рдХреЗ рд╕рдВрдХреНрд░рдордг рд╕реЗ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд pies рдорд┐рд▓реЗ:
- рдорд╛рдирд╡ рдХреА рдЦреЛрдЬ
- рдЦреЛрдЬ рдкреЗрдЬ рдкреАрдврд╝реА - рдЧреНрд░рд╛рд╣рдХ рдкрд░
- рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдлрд▓реЛрдбрд┐рдВрдЧ
рдореИрдВ Sphinx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдкреАрдврд╝реА рдХреЗ рд╕рдордп рдХрд╛ рд╕рдЯреАрдХ рдорд╛рдк рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рд▓рд┐рдЦрдирд╛ рднреВрд▓ рдЧрдпрд╛ рд╣реВрдВ рдХрд┐ рдЦреБрд╢рд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкрд╣рд▓реЗ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ 20 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рдж рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреАрдврд╝реА рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо)ред
рдЙрддреНрдкрд╛рдж рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдЕрджреНрдпрддрд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рд╡реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ) рд╣рдо рдкреНрд░рддреНрдпреЗрдХ 10 рдорд┐рдирдЯ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдПрдХ
рдбреЗрд▓реНрдЯрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рд╕реВрдЪрдХрд╛рдВрдХ рд╣рд░ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ 5 рд╕реЗрдХрдВрдб рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдореВрд▓реНрдп рд╕реВрдЪреА рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди MS SQL рдХреЛ рдЙрддрд╛рд░рдиреЗ рдореЗрдВ рдЯреЗрдмрд▓ рд▓реЙрдХ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
рдкреАрдПрд╕ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╕рд╛рдл рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣реИрдмрд░рдлреИрдХреНрдЯ рд╕реЗ рдирд╣реАрдВ рдмрдЪреЗрдВрдЧреЗред