ู‚ู„ ูƒู„ู…ุฉ ุนู† ุงู„ุจุญุซ ุงู„ู…ุญู„ูŠ

ููŠ ุงู„ุนุตูˆุฑ ุงู„ู‚ุฏูŠู…ุฉ ุŒ ูƒู†ุช ุฃุนู…ู„ ูƒู…ุชุฎุตุต ููŠ ุชูƒู†ูˆู„ูˆุฌูŠุง ุงู„ู…ุนู„ูˆู…ุงุช ููŠ ุดุฑูƒุฉ ูˆุงุญุฏุฉ ุŒ ูˆููŠ ูˆู‚ุช ู…ุง ุธู‡ุฑุช ู…ู‡ู…ุฉ ุงู„ุจุญุซ ููŠ ู…ุฎุฒู† ู…ุญู„ูŠ ู„ู„ูˆุซุงุฆู‚. ูƒุงู† ู…ู† ุงู„ู…ุฑุบูˆุจ ููŠู‡ ุงู„ุจุญุซ ู„ูŠุณ ูู‚ุท ุจุงุณู… ุงู„ู…ู„ู ุŒ ูˆู„ูƒู† ุฃูŠุถู‹ุง ุนู† ุทุฑูŠู‚ ุงู„ู…ุญุชูˆู‰. ููŠ ุฐู„ูƒ ุงู„ูˆู‚ุช ุŒ ูƒุงู†ุช ุขู„ูŠุงุช ุงู„ุจุญุซ ุงู„ู…ุญู„ูŠุฉ ู…ุซู„ ุฃู…ูŠู† ุงู„ู…ุญููˆุธุงุช ู„ุง ุชุฒุงู„ ุดุงุฆุนุฉ ุŒ ูˆุญุชู‰ ุฃู†ู‡ ูƒุงู† ู‡ู†ุงูƒ ู…ุญุฑูƒ ุจุญุซ ู…ู†ูุตู„ ุนู† Yandex. ู„ูƒู† ู‡ุฐู‡ ู„ู… ุชูƒู† ุญู„ูˆู„ู‹ุง ู…ุคุณุณูŠุฉ ุ› ูˆู„ุง ูŠู…ูƒู† ู†ุดุฑู‡ุง ู…ุฑูƒุฒูŠู‹ุง ู„ู„ู…ุดุงุฑูƒุฉ. ุจุฏุฃุช Yandex ุŒ ู…ู† ุฃุฌู„ ุงู„ุตุฏู‚ ุŒ ููŠ ุงู„ู‚ูŠุงู… ุจุดูŠุก ู…ู…ุงุซู„ ุŒ ู„ูƒู†ู‡ุง ุชุฎู„ุช ุนู†ู‡ ุจุนุฏ ุฐู„ูƒ.



ู„ูƒู† ูƒู„ ู‡ุฐู‡ ุงู„ุญู„ูˆู„ ู„ู… ูŠูƒู† ู„ุฏูŠู‡ุง ู…ุง ุฃุญุชุงุฌู‡:



  • ุงู„ุชุซุจูŠุช ุงู„ู…ุฑูƒุฒูŠ
  • ู†ุชุงุฆุฌ ุงู„ุจุญุซ ู…ุน ู…ุฑุงุนุงุฉ ุญู‚ูˆู‚ ุงู„ูˆุตูˆู„
  • ุงู„ุจุญุซ ุนู† ุทุฑูŠู‚ ู…ุญุชูˆู‰ ุงู„ูˆุซูŠู‚ุฉ
  • ุนู„ู… ุงู„ุชุดูƒู„ ุงู„ู…ูˆุฑููˆู„ูˆุฌูŠุง


ูˆู‚ุฑุฑุช ุฃู† ุฃุตู†ุน ุฎุงุตุชูŠ.



ุณูˆู ุฃูุตุญ ู†ู‚ุทุฉ ุชู„ูˆ ุงู„ุฃุฎุฑู‰ ุนู…ุง ู„ุฏูŠ ููŠ ุงู„ู†ู…ูˆุฐุฌ ู„ุชุฌู†ุจ ุงู„ุงุฎุชู„ุงู ููŠ ุงู„ุชูุณูŠุฑ ูˆุณูˆุก ุงู„ูู‡ู….

ุงู„ุชุซุจูŠุช ุงู„ู…ุฑูƒุฒูŠ - ุชู†ููŠุฐ ุฎุงุฏู… ุงู„ุนู…ูŠู„. ุชุญุชูˆูŠ ุฌู…ูŠุน ุงู„ุญู„ูˆู„ ุงู„ู…ุฐูƒูˆุฑุฉ ุฃุนู„ุงู‡ ุนู„ู‰ ู…ุดูƒู„ุฉ ุฃุณุงุณูŠุฉ ูˆุงุญุฏุฉ - ูŠู‚ูˆู… ูƒู„ ู…ุณุชุฎุฏู… ุจุนู…ู„ ูู‡ุฑุณ ุจุญุซ ู…ุญู„ูŠ ุฎุงุต ุจู‡ ุŒ ูˆุงู„ุฐูŠ ุŒ ููŠ ุญุงู„ุฉ ุฃุญุฌุงู… ุงู„ุชุฎุฒูŠู† ุงู„ูƒุจูŠุฑุฉ ุŒ ูŠุคุฎุฑ ุงู„ูู‡ุฑุณุฉ ุŒ ูˆูŠู†ู…ูˆ ู…ู„ู ุชุนุฑูŠู ุงู„ู…ุณุชุฎุฏู… ุนู„ู‰ ุงู„ุฌู‡ุงุฒ ุŒ ูˆูŠูƒูˆู† ุจุดูƒู„ ุนุงู… ุบูŠุฑ ู…ุฑูŠุญ ููŠ ุญุงู„ุฉ ูˆุตูˆู„ ู…ูˆุธู ุฌุฏูŠุฏ ุฃูˆ ุงู„ุงู†ุชู‚ุงู„ ุฅู„ู‰ ุฌู‡ุงุฒ ุฌุฏูŠุฏ.



ู†ุชุงุฆุฌ ุงู„ุจุญุซ ู…ุน ู…ุฑุงุนุงุฉ ุงู„ุญู‚ูˆู‚ - ูƒู„ ุดูŠุก ุจุณูŠุท ู‡ู†ุง - ูŠุฌุจ ุฃู† ุชุชูˆุงูู‚ ุงู„ู†ุชุงุฆุฌ ู…ุน ุญู‚ูˆู‚ ุงู„ู…ูˆุธู ููŠ ู…ูˆุฑุฏ ุงู„ู…ู„ู. ุฎู„ุงู ุฐู„ูƒ ุŒ ุงุชุถุญ ุฃู†ู‡ ุญุชู‰ ู„ูˆ ู„ู… ูŠูƒู† ู„ู„ู…ูˆุธู ุญู‚ูˆู‚ ููŠ ุงู„ู…ูˆุฑุฏ ุŒ ูŠู…ูƒู†ู‡ ู‚ุฑุงุกุฉ ูƒู„ ุดูŠุก ู…ู† ุฐุงูƒุฑุฉ ุงู„ุชุฎุฒูŠู† ุงู„ู…ุคู‚ุช ู„ู„ุจุญุซ. ุณูˆู ูŠุชุญูˆู„ ุฅู„ู‰ ู…ุญุฑุฌ ุŒ ุชูˆุงูู‚ุŸ ุงุจุญุซ ุจู…ุญุชูˆู‰ ุงู„ู…ุณุชู†ุฏ - ุงุจุญุซ ุจู†ุต ุงู„ู…ุณุชู†ุฏ ุŒ ูƒู„ ุดูŠุก ูˆุงุถุญ ู‡ู†ุง ุŒ ูƒู…ุง ูŠุจุฏูˆ ู„ูŠ ุŒ ูˆู„ุง ูŠู…ูƒู† ุฃู† ูŠูƒูˆู† ู‡ู†ุงูƒ ุชู†ุงู‚ุถุงุช.



ุนู„ู… ุงู„ุตุฑู ู‡ูˆ ุฃุจุณุท. ู…ุญุฏุฏ ููŠ ุทู„ุจ ุงู„ุจุญุซ "ุณูƒูŠู†" ูˆุญุตู„ ุนู„ู‰ ูƒู„ ู…ู† "ุณูƒูŠู†" ูˆ "ุณูƒุงูƒูŠู†" ูˆ "ุณูƒูŠู†" ูˆ "ุณูƒูŠู†". ู…ู† ุงู„ู…ุณุชุญุณู† ู„ู‡ุฐุง ุงู„ุนู…ู„ ุจุงู„ู„ุบุชูŠู† ุงู„ุฑูˆุณูŠุฉ ูˆุงู„ุฅู†ุฌู„ูŠุฒูŠุฉ.

ู„ู‚ุฏ ู‚ุฑุฑู†ุง ุตูŠุงุบุฉ ุงู„ู…ุดูƒู„ุฉ ุŒ ูŠู…ูƒู†ู†ุง ุงู„ู…ุถูŠ ู‚ุฏู…ู‹ุง ููŠ ุงู„ุชู†ููŠุฐ.



ูƒู…ุญุฑูƒ ุจุญุซ ุŒ ุงุฎุชุฑุช ู†ุธุงู… Sphinx ุŒ ูˆูƒุงู†ุช ู„ุบุฉ ุชุทูˆูŠุฑ ุงู„ูˆุงุฌู‡ุฉ ู‡ูŠ C # ูˆ. net ุŒ ูˆู†ุชูŠุฌุฉ ู„ุฐู„ูƒ ุชู… ุชุณู…ูŠุฉ ุงู„ู…ุดุฑูˆุน Vidocq (Vidocq) ุนู„ู‰ ุงุณู… ุงู„ู…ุฎุจุฑ ุงู„ูุฑู†ุณูŠ. ุญุณู†ู‹ุง ุŒ ู…ุซู„ ุŒ ูŠุฌุฏ ูƒู„ ุดูŠุก ูˆู‡ุฐุง ูƒู„ ุดูŠุก.



ู…ู† ุงู„ู†ุงุญูŠุฉ ุงู„ู…ุนู…ุงุฑูŠุฉ ุŒ ูŠุจุฏูˆ ุงู„ุชุทุจูŠู‚ ูƒู…ุง ูŠู„ูŠ: ูŠู‚ูˆู…



ุฑูˆุจูˆุช ุงู„ุจุญุซ ุจุงู„ุฒุญู ุจุดูƒู„ ู…ุชูƒุฑุฑ ุฅู„ู‰ ู…ูˆุฑุฏ ู…ู„ู ูˆูŠุนุงู„ุฌ ุงู„ู…ู„ูุงุช ูˆูู‚ู‹ุง ู„ู‚ุงุฆู…ุฉ ู…ุนูŠู†ุฉ ู…ู† ุงู„ุงู…ุชุฏุงุฏุงุช. ุชุชู…ุซู„ ุงู„ู…ุนุงู„ุฌุฉ ููŠ ุงุณุชุฑุฏุงุฏ ู…ุญุชูˆูŠุงุช ุงู„ู…ู„ู ุŒ ูˆุถุบุท ุงู„ู†ุต - ุชุชู… ุฅุฒุงู„ุฉ ุนู„ุงู…ุงุช ุงู„ุงู‚ุชุจุงุณ ุŒ ูˆุงู„ููˆุงุตู„ ุŒ ูˆุงู„ู…ุณุงูุงุช ุงู„ุฒุงุฆุฏุฉ ุŒ ูˆู…ุง ุฅู„ู‰ ุฐู„ูƒ ู…ู† ุงู„ู†ุต ุŒ ุซู… ูŠุชู… ูˆุถุน ุงู„ู…ุญุชูˆู‰ ููŠ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช (MS SQL) ุŒ ูˆูŠุชู… ุชุญุฏูŠุฏ ุชุงุฑูŠุฎ ุงู„ุชู†ุณูŠุจ ูˆูŠุชุญุฑูƒ ุงู„ุฑูˆุจูˆุช.



ูŠุนู…ู„ ู…ูู‡ุฑุณ Sphins ู…ุจุงุดุฑุฉ ู…ุน ุงู„ู‚ุงุนุฏุฉ ุงู„ู…ุณุชู„ู…ุฉ ุŒ ูˆูŠุดูƒู„ ูู‡ุฑุณู‹ุง ุฎุงุตู‹ุง ุจู‡ ูˆูŠุนูŠุฏ ุงู„ู…ุคุดุฑ ุฅู„ู‰ ุงู„ู…ู„ู ุงู„ู…ูˆุฌูˆุฏ ูˆู…ู‚ุชุทูู‹ุง ู…ู† ุฌุฒุก ุงู„ู†ุต ุงู„ู…ูˆุฌูˆุฏ ูƒุฑุฏ ูุนู„.



ุชู… ุชุทูˆูŠุฑ ู†ู…ูˆุฐุฌ ููŠ C # ูŠุชูˆุงุตู„ ู…ุน ุฃุจูˆ ุงู„ู‡ูˆู„ ู…ู† ุฎู„ุงู„ ู…ูˆุตู„ MySQL. ูŠุนุทูŠ Sphinx ู…ุฌู…ูˆุนุฉ ู…ู† ุงู„ู…ู„ูุงุช ูˆูู‚ู‹ุง ู„ู„ุทู„ุจ ุŒ ุซู… ูŠุชู… ุชุตููŠุฉ ุงู„ู…ุตููˆูุฉ ู„ุญู‚ ูˆุตูˆู„ ุงู„ู…ุณุชุฎุฏู… ุงู„ุฐูŠ ูŠุจุญุซ ุŒ ูˆูŠุชู… ุชู†ุณูŠู‚ ุงู„ุฅุฎุฑุงุฌ ูˆุนุฑุถู‡ ู„ู„ู…ุณุชุฎุฏู….



ู†ุญุชุงุฌ ุฅู„ู‰ ุชุฎุฒูŠู† ุงู„ู…ุนู„ูˆู…ุงุช ุงู„ุชุงู„ูŠุฉ ุญูˆู„ ุงู„ู…ู„ู:



  • ู…ุนุฑู ุงู„ู…ู„ู
  • ุงุณู… ุงู„ู…ู„ู
  • ู…ุณุงุฑ ุงู„ู…ู„ู
  • ู…ุญุชูˆูŠุงุช ุงู„ู…ู„ู
  • ุชูˆุณูŠุน
  • ุชู…ุช ุฅุถุงูุฉ ุงู„ุชุงุฑูŠุฎ ุฅู„ู‰ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช


ูŠุชู… ูƒู„ ุฐู„ูƒ ููŠ ุฌุฏูˆู„ ูˆุงุญุฏ ูˆุณูŠุถูŠู ุฑูˆุจูˆุช ุงู„ุจุญุซ ูƒู„ ุดูŠุก ุฅู„ูŠู‡. ูŠุนุฏ ุชุงุฑูŠุฎ ุงู„ุฅุถุงูุฉ ุถุฑูˆุฑูŠู‹ุง ุญุชู‰ ุนู†ุฏู…ุง ูŠู‚ุงุฑู† ุงู„ุฑูˆุจูˆุช ููŠ ุงู„ุฌูˆู„ุฉ ุงู„ุชุงู„ูŠุฉ ุชุงุฑูŠุฎ ุชุนุฏูŠู„ ุงู„ู…ู„ู ู…ุน ุชุงุฑูŠุฎ ูˆุถุนู‡ ููŠ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช ุŒ ูˆุฅุฐุง ุงุฎุชู„ูุช ุงู„ุชูˆุงุฑูŠุฎ ุŒ ูู‚ู… ุจุชุญุฏูŠุซ ุงู„ู…ุนู„ูˆู…ุงุช ุญูˆู„ ุงู„ู…ู„ู.



ุซู… ู‚ู… ุจุฅุนุฏุงุฏ ู…ุญุฑูƒ ุงู„ุจุญุซ ู†ูุณู‡. ู„ู† ุฃุตู ุงู„ุชูƒูˆูŠู† ุจุงู„ูƒุงู…ู„ ุŒ ุณูŠูƒูˆู† ู…ุชุงุญู‹ุง ููŠ ุฃุฑุดูŠู ุงู„ู…ุดุฑูˆุน ุŒ ู„ูƒู†ู†ูŠ ุณุฃุบุทูŠ ูู‚ุท ุงู„ู†ู‚ุงุท ุงู„ุฑุฆูŠุณูŠุฉ.



ุงู„ุทู„ุจ ุงู„ุฑุฆูŠุณูŠ ุงู„ุฐูŠ ูŠุดูƒู„ ู‚ุงุนุฏุฉ



ุงู„ู…ุณุชู†ุฏุงุช ุงู„ู…ุตุฏุฑ: documents_base



{
	sql_query = \
	select \
	DocumentId as 'Id', \
	DocumentPath as 'Path', \
	DocumentTitle as 'Title', \
	DocumentExtention as 'Extension', \
	DocumentContent as 'Content' \
	from \
	VidocqDocs
}


ุฅุนุฏุงุฏ ู…ูˆุฑููˆู„ูˆุฌูŠุง ู…ู† ุฎู„ุงู„ lemmatizer.



index documents
{
	source 			= documents
	path 			= D:/work/VidocqSearcher/Sphinx/data/index
    morphology 		= lemmatize_ru_all, lemmatize_en_all
}


ุจุนุฏ ุฐู„ูƒ ุŒ ูŠู…ูƒู†ูƒ ุถุจุท ุงู„ู…ูู‡ุฑุณ ุนู„ู‰ ุงู„ู‚ุงุนุฏุฉ ูˆุงู„ุชุญู‚ู‚ ู…ู† ุงู„ุนู…ู„.



d:\work\VidocqSearcher\Sphinx\bin\indexer.exe documents --config D:\work\VidocqSearcher\Sphinx\bin\main.conf โ€“rotate


ู‡ู†ุง ูŠุชุจุน ุงู„ู…ุณุงุฑ ุฅู„ู‰ ุงู„ู…ูู‡ุฑุณ ุงุณู… ุงู„ูู‡ุฑุณ ุงู„ุฐูŠ ูŠุชู… ูˆุถุน ุงู„ู…ุคุดุฑ ุงู„ู…ุนุงู„ุฌ ููŠู‡ ุŒ ูˆูŠุนู†ูŠ ุงู„ู…ุณุงุฑ ุฅู„ู‰ ุงู„ุชูƒูˆูŠู† ูˆุนู„ุงู…ุฉ ุงู„ุฏูˆุฑุงู† ุฃู† ุงู„ูู‡ุฑุณุฉ ุณุชุชู… ุนู„ู‰ ุฑุจุญ ุŒ ุฃูŠ ู…ุน ุชุดุบูŠู„ ุฎุฏู…ุฉ ุงู„ุจุญุซ. ุจุนุฏ ุงูƒุชู…ุงู„ ุงู„ูู‡ุฑุณุฉ ุŒ ุณูŠุชู… ุงุณุชุจุฏุงู„ ุงู„ูู‡ุฑุณ ุจุงู„ูู‡ุฑุณ ุงู„ู…ุญุฏุซ.



ู†ุชุญู‚ู‚ ู…ู† ุงู„ุนู…ู„ ููŠ ูˆุญุฏุฉ ุงู„ุชุญูƒู…. ูƒูˆุงุฌู‡ุฉ ุŒ ูŠู…ูƒู†ูƒ ุงุณุชุฎุฏุงู… ุนู…ูŠู„ MySQL ุงู„ู…ุฃุฎูˆุฐ ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ู…ู† ู…ุฌู…ูˆุนุฉ ุฎุงุฏู… ุงู„ูˆูŠุจ.



mysql -h 127.0.0.1 -P 9306


ุจุนุฏ ู‡ุฐุง ุงู„ุทู„ุจ ุญุฏุฏ ู…ุนุฑู ู…ู† ุงู„ูˆุซุงุฆู‚. ูŠุฌุจ ุฃู† ุชุนูŠุฏ ู‚ุงุฆู…ุฉ ุจุงู„ูˆุซุงุฆู‚ ุงู„ู…ูู‡ุฑุณุฉ ุŒ ุฅุฐุง ุŒ ุจุงู„ุทุจุน ุŒ ุจุฏุฃุช ุฎุฏู…ุฉ Sphinx ู†ูุณู‡ุง ูˆูุนู„ุช ูƒู„ ุดูŠุก ุจุดูƒู„ ุตุญูŠุญ.

ุญุณู†ู‹ุง ุŒ ูˆุญุฏุฉ ุงู„ุชุญูƒู… ุฑุงุฆุนุฉ ุŒ ู„ูƒู†ู†ุง ู„ู† ู†ุฌุจุฑ ุงู„ู…ุณุชุฎุฏู…ูŠู† ุนู„ู‰ ูƒุชุงุจุฉ ุงู„ุฃูˆุงู…ุฑ ุŒ ุฃู„ูŠุณ ูƒุฐู„ูƒุŸ



ู„ู‚ุฏ ุฑุณู…ุช ู†ู…ูˆุฐุฌู‹ุง ู…ุซู„ ู‡ุฐุง







ูˆู‡ู†ุง ู…ุน ู†ุชุงุฆุฌ ุงู„ุจุญุซ







ุนู†ุฏ ุงู„ู†ู‚ุฑ ููˆู‚ ู†ุชูŠุฌุฉ ู…ุนูŠู†ุฉ ุŒ ูŠุชู… ูุชุญ ู…ุณุชู†ุฏ.



ูƒูŠู ูŠุชู… ุชู†ููŠุฐู‡.



using MySql.Data.MySqlClient;
string connectionString = "Server=127.0.0.1;Port=9306";
            var query = "select id, title, extension, path, snippet(content, '" + textBoxSearch.Text.Trim() + "', 'query_mode=1') as snippet from documents " +
                "where ";
            if (checkBoxTitle.IsChecked == true && checkBoxContent.IsChecked == true)
            {
                query += "match ('@(title,content)" + textBoxSearch.Text.Trim() + "')";
            }
            
            if (checkBoxTitle.IsChecked == false && checkBoxContent.IsChecked == true)
            {
                query += "match ('@content" + textBoxSearch.Text.Trim() + "')";
            }
            
            if (checkBoxTitle.IsChecked == true && checkBoxContent.IsChecked == false)
            {
                query += "match ('@title" + textBoxSearch.Text.Trim() + "')";
            }
            
            

            if (checkBoxWord.IsChecked == true && checkBoxText.IsChecked == true)
            {
                query += "and extension in ('.docx', '.doc', '.txt');";
            }
            if (checkBoxWord.IsChecked == true && checkBoxText.IsChecked == false)
            {
                query += "and extension in ('.docx', '.doc');";
            }

            if (checkBoxWord.IsChecked == false && checkBoxText.IsChecked == true)
            {
                query += "and extension in ('.txt');";
            }


ู†ุนู… ุŒ ูŠูˆุฌุฏ ูƒูˆุฏ bydloc ุŒ ู„ูƒู† ู‡ุฐุง ู‡ูˆ MVP.



ููŠ ุงู„ูˆุงู‚ุน ุŒ ูŠุชู… ู‡ู†ุง ุชุดูƒูŠู„ ุทู„ุจ ุฅู„ู‰ ุฃุจูˆ ุงู„ู‡ูˆู„ ุŒ ุงุนุชู…ุงุฏู‹ุง ุนู„ู‰ ู…ุฑุจุนุงุช ุงู„ุงุฎุชูŠุงุฑ ุงู„ู…ุญุฏุฏุฉ. ุชุดูŠุฑ ู…ุฑุจุนุงุช ุงู„ุงุฎุชูŠุงุฑ ุฅู„ู‰ ู†ูˆุน ุงู„ู…ู„ูุงุช ุงู„ู…ุฑุงุฏ ุงู„ุจุญุซ ููŠู‡ุง ูˆู…ู†ุทู‚ุฉ ุงู„ุจุญุซ.



ุซู… ูŠุฐู‡ุจ ุงู„ุทู„ุจ ุฅู„ู‰ ุฃุจูˆ ุงู„ู‡ูˆู„ ุŒ ุซู… ูŠุชู… ุชุญู„ูŠู„ ุงู„ู†ุชูŠุฌุฉ.



using (var command = new MySqlCommand(query, connection))
            {
                connection.Open();

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var id = reader.GetUInt16("id");
                        var title = reader.GetString("title");
                        var path = reader.GetString("path");
                        var extension = reader.GetString("extension");
                        var snippet = reader.GetString("snippet");
                        bool isFileExist = File.Exists(path);
                        if (isFileExist == true)
                        {
                            System.Windows.Controls.RichTextBox textBlock = new RichTextBox();
                            textBlock.IsReadOnly = true;
                            string xName = "id" + id.ToString();
                            textBlock.Name = xName;
                            textBlock.Tag = path;
                            textBlock.GotFocus += new System.Windows.RoutedEventHandler(ShowClickHello);
                            snippet = System.Text.RegularExpressions.Regex.Replace(snippet, "<.*?>", String.Empty);
                            Paragraph paragraph = new Paragraph();
                            paragraph.Inlines.Add(new Bold(new Run(path + "\r\n")));
                            paragraph.Inlines.Add(new Run(snippet));
                            textBlock.Document = new FlowDocument(paragraph);
                            StackPanelResult.Children.Add(textBlock);
                        }
                        else
                        {
                            counteraccess--;
                        }
                    }
                }
            }


ููŠ ู†ูุณ ุงู„ู…ุฑุญู„ุฉ ุŒ ูŠุชู… ุฅู†ุดุงุก ุงู„ู…ุดูƒู„ุฉ. ูƒู„ ุนู†ุตุฑ ู…ู† ุนู†ุงุตุฑ ุงู„ู…ุดูƒู„ุฉ ุนุจุงุฑุฉ ุนู† ู…ุฑุจุน ู†ุต ู…ู†ุณู‚ ุจู‡ ุญุฏุซ ู„ูุชุญ ู…ุณุชู†ุฏ ุนู†ุฏ ุงู„ู†ู‚ุฑ. ูŠุชู… ูˆุถุน ุงู„ุนู†ุงุตุฑ ุนู„ู‰ StackPanel ูˆู‚ุจู„ ุฐู„ูƒ ูŠุชู… ูุญุต ุงู„ู…ู„ู ู„ู„ู…ุณุชุฎุฏู…. ูˆุจุงู„ุชุงู„ูŠ ุŒ ู„ู† ูŠุชู… ุชุถู…ูŠู† ุงู„ู…ู„ู ุงู„ุฐูŠ ูŠุชุนุฐุฑ ุนู„ู‰ ุงู„ู…ุณุชุฎุฏู… ุงู„ูˆุตูˆู„ ุฅู„ูŠู‡ ููŠ ุงู„ุฅุฎุฑุงุฌ.

ู…ุฒุงูŠุง ู‡ุฐุง ุงู„ุญู„:



  • ุชุชู… ุงู„ูู‡ุฑุณุฉ ู…ุฑูƒุฒูŠู‹ุง
  • ุนุฑุถ ุฏู‚ูŠู‚ ุนู„ู‰ ุฃุณุงุณ ุญู‚ูˆู‚ ุงู„ูˆุตูˆู„
  • ุจุญุซ ู‚ุงุจู„ ู„ู„ุชุฎุตูŠุต ุญุณุจ ู†ูˆุน ุงู„ูˆุซูŠู‚ุฉ


ุจุงู„ุทุจุน ุŒ ู…ู† ุฃุฌู„ ุงู„ุชุดุบูŠู„ ุงู„ูƒุงู…ู„ ู„ู…ุซู„ ู‡ุฐุง ุงู„ุญู„ ุŒ ูŠุฌุจ ุชู†ุธูŠู… ุฃุฑุดูŠู ุงู„ู…ู„ู ุจุดูƒู„ ุตุญูŠุญ ููŠ ุงู„ุดุฑูƒุฉ. ู…ู† ุงู„ู†ุงุญูŠุฉ ุงู„ู…ุซุงู„ูŠุฉ ุŒ ูŠุฌุจ ุชูƒูˆูŠู† ู…ู„ูุงุช ุชุนุฑูŠู ุงู„ู…ุณุชุฎุฏู…ูŠู† ุงู„ู…ุชุฌูˆู„ุฉ ูˆู…ุง ุฅู„ู‰ ุฐู„ูƒ. ูˆู†ุนู… ุŒ ุฃุนุฑู ุดูŠุฆู‹ุง ุนู† SharePoint ูˆ Windows Search ูˆุนู„ู‰ ุงู„ุฃุฑุฌุญ ุจุนุถ ุงู„ุญู„ูˆู„ ุงู„ุฃุฎุฑู‰. ุซู… ูŠู…ูƒู†ูƒ ู…ู†ุงู‚ุดุฉ ุงุฎุชูŠุงุฑ ู…ู†ุตุฉ ุงู„ุชุทูˆูŠุฑ ุŒ ุฃูˆ ู…ุญุฑูƒ ุจุญุซ Sphinx ุŒ ุฃูˆ Manticore ุฃูˆ Elastic ุŒ ูˆู…ุง ุฅู„ู‰ ุฐู„ูƒ. ู„ูƒู†ู†ูŠ ูƒู†ุช ู…ู‡ุชู…ู‹ุง ุจุญู„ ุงู„ู…ุดูƒู„ุฉ ุจุงุณุชุฎุฏุงู… ุงู„ุฃุฏูˆุงุช ุงู„ุชูŠ ุฃูู‡ู…ู‡ุง ู‚ู„ูŠู„ุงู‹. ุฅู†ู‡ ูŠุนู…ู„ ุญุงู„ูŠู‹ุง ููŠ ูˆุถุน MVP ุŒ ู„ูƒู†ูŠ ุฃู‚ูˆู… ุจุชุทูˆูŠุฑู‡.



ู„ูƒู† ุนู„ู‰ ุฃูŠ ุญุงู„ ุŒ ุฃู†ุง ู…ุณุชุนุฏ ู„ู„ุงุณุชู…ุงุน ุฅู„ู‰ ุงู‚ุชุฑุงุญุงุชูƒู… ุญูˆู„ ุงู„ู†ู‚ุงุท ุงู„ุชูŠ ูŠู…ูƒู† ุชุญุณูŠู†ู‡ุง ุฃูˆ ุฅุนุงุฏุฉ ุจู†ุงุฆู‡ุง ููŠ ู…ู‡ุฏู‡ุง.



All Articles