ãã¡ã€ã³ãäœæããããšããå§ããŸãããã iKnowã®ãã¡ã€ã³ã¯ãCachéã®ãšãªã¢ãŸãã¯å®¶ã®å ¥ãå£ã®ã¡ãŒã«ããã¯ã¹ãšæ¯èŒã§ããŸãã ããã¯ãããã¹ããããŒããããã³ã³ããã§ãã ããã¹ãã«å ããŠãæ§æãããŒããŒããªã¹ã¿ãŒãèŸæžãªã©ã®åæã«å¿ èŠãªããŒã«ãããã«ä¿åãããŸãã
ãã¡ã€ã³ãäœæããã«ã¯2ã€ã®æ¹æ³ããããŸãã ãããã®1ã€ã¯ã ïŒ iKnow.Domainã¯ã©ã¹ã䜿çšããŠããŸãã ãã®ã¢ãããŒãã䜿çšããå Žåããã¡ã€ã³èªäœãšãã®äžã®ãã¹ãŠã®ãªããžã§ã¯ãã®äž¡æ¹ã®äœæã³ãŒããæåã§èšè¿°ããå¿ èŠããããŸãã ãã®ããã»ã¹ã¯éåžžã«è€éã§ãiKnowã§ã®æéãšçµéšãå¿ èŠã§ãããã€ã³ããã¯ã¹åãããããŒã¿ã®åŸåŠçã§è€éãªiKnowã¢ããªã±ãŒã·ã§ã³ãå®è£ ã§ããŸãã
ã©ããããããã¿ã€ãã³ã°ã«é©ããïŒ iKnow.DomainDefinitionã¯ã©ã¹ã®äœ¿çšã«åºã¥ãã代æ¿æ¹æ³ããããŸãã XMLè¡šçŸã§ã®æ§é ã®èª¬æãéããŠã宣èšçã«ãã¡ã€ã³ãäœæã§ããŸãã ãŸãããã¡ã€ã³ãªããžã§ã¯ãèªäœã¯ãã¯ã©ã¹ãã³ã³ãã€ã«ããããšãã«èªåçã«äœæãããŸãã ãã®æ¹æ³ã¯ãããã·ã³ãã«ã§ã³ã³ãã¯ãã§ãæ°ãããã¡ã€ã³ãæåãããã°ããäœæã§ããŸãã ãã®èšäºã§ã¯ã2çªç®ã®äœæ¥æ¹æ³ã説æããã³ãŒãäŸã瀺ããŸãã
çºèšã Caché2015.2ãã£ãŒã«ããã¹ãããŒãžã§ã³ã§ã³ãŒããäœæããŠãã¹ãããŸãã 以åã®ããŒãžã§ã³ãšã®åºæ¬çãªéãã¯ãã¹ããã³ã°ãšèŠåºãèªåã®ãµããŒãã§ãã ããã«é¢ããŠãããã€ãã®èšå®ã«éãããããŸãããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã ããã§ã¯å§ããŸãããã
ã¹ããã0ã åé¡ã®å£°æ
ã³ãŒããæžãå§ããåã«ã解決ããåé¡ãå®åŒåããŸãã æãåçŽãªãã¥ãŒã¹ã¢ã°ãªã²ãŒã¿ãŒãäœæããŸãã ãããè¡ãã«ã¯ãiKnowã§ãã¡ã€ã³ãäœæããŸãããã¡ã€ã³ã¯RSSãã£ãŒãããèšäºãããŠã³ããŒããããããã¯ããšã«èšäºãåå²ããæ¹æ³ãæããŸãã ãæ¿æ²»ãããçµæžãããã¹ããŒãããããã³ãå®å®ããã®è åšããªã©ããã¥ãŒã¹ã®ã«ããŽãªãŒãåãäžããããšããå§ãããŸãã
æåã®ã¹ãããã ãã¡ã€ã³äœæ
DomainDefinitionã䜿çšããŠãã¡ã€ã³ãäœæããŸãã ãããè¡ãã«ã¯ããã®ã¯ã©ã¹ãã³ã³ãã€ã«ããŸãã
Class HabrDomain.News Extends %iKnow.DomainDefinition { XData Domain {XMLNamespace =TEST] { <domain name="NewsAggregator" > </domain> } }
ãã¡ã€ã³èªäœã¯å®å šã«ç©ºã§ãããHabrDomain.Newsã¯ã©ã¹ãã³ã³ãã€ã«ããçŽåŸã«ãªããžã§ã¯ããšããŠäœæãããŸãã ããã確èªããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸã
do $ system.iKnow.ListDomainsïŒïŒ
ã¿ãŒããã«ã§ã NewsAggregatorãã¡ã€ã³ã1ã«çããIDïŒãã§ã«ãã¡ã€ã³ãäœæããŠããå Žåã¯IDãç°ãªãå ŽåããããŸãïŒã§åœ¢æãããããŠã³ããŒããããããã¹ããªãã§è¡šç€ºãããŸãïŒãœãŒã¹ã®æ°ã¯0ã§ãïŒã
ã¹ããã2 ãã¡ã€ã³èšå®
ãã¡ã€ã³ãèšå®ããããšã§ãéåžžã«å¹ åºãã¢ã¯ã·ã§ã³ãç解ã§ããŸãããããã§ã¯ãã¡ã€ã³ã®æ§æã«çŠç¹ãåœãŠãŸãã ãã®æ§æã¯ãããã¥ã¡ã³ãããã¡ã€ã³ã«ã¢ããããŒããããšãã«ã®ã¿äœ¿çšãããiKnowãããã¹ããåŠçããæ¹æ³ãæ åœããŸãã æ§æã¯ãªããžã§ã¯ããšããŠäœæããããããäžåºŠäœæãããšããã®é åã®ç°ãªããã¡ã€ã³ã§åå©çšã§ããŸãã çè«çã«ã¯ãèšå®ã¯å¿ é ã§ã¯ãªãããã¹ãŠã®èšå®ãããã€ãã®ãããã©ã«ããå€ã«çœ®ãæããããšãã§ããŸããããã®å Žåã¯ããã·ã¢èªã®ããã¹ããããã«äœ¿çšããããšãå¿ããŠãã ããã
DomainDefinitionã®æ§æã説æããã«ã¯ãDomainã¿ã°å ã«æ¬¡ã®è¡ãè¿œå ããŸãã
<configuration name="Russian" detectLanguage="false" languages="ru" stemming="DEFAULT" />
ãã®è¡ã«åŸã£ãŠãããã¹ãåæã«ãã·ã¢èªã®ã»ãã³ãã£ãã¯ã¢ãã«ã䜿çšããããã·ã¢èªããšããååã®æ§æãäœæããããã¹ãããã¥ã¡ã³ãã®èšèªãèªåçã«æ€åºããã¡ã«ããºã ãç¡å¹ã«ããŸãã å€ããDEFAULTãã«ãããã¹ããã³ã°ããã©ã¡ãŒã¿ãŒã¯ãããã¹ãã®åææã«ãã·ã¢èªã®è£é¡åãæ¥ç¶ããããã«å¿ èŠãªïŒãã ãååã§ã¯ãªãïŒæ¡ä»¶ã§ãã
ã¹ã¿ãã³ã°ã®èª¿æŽãå®äºããã«ã¯ãæ§æåŸã«ãã1è¡è¿œå ããŸãã
<parameter name="$$$IKPSTEMMING" value="1" />
ã¹ããã3 ã¡ã¿ããŒã¿çšã®ãã£ãŒã«ããäœæãã
ãã¡ã€ã³ã«èšäºãã¢ããããŒããããšãããã¹ãã ããããŠã³ããŒããããŸããã RSSãã£ãŒãããå€ãã®æçšãªæ å ±ãååŸããããšãã§ããããã䜿çšã§ããŸãã ãã®ããŒã¿ãä¿åããã«ã¯ãã¡ã¿æ å ±ãã£ãŒã«ããæ§æããŸãã ãããè¡ãã«ã¯ãã¯ã©ã¹ã®XDataãããã¯ã«æ¬¡ã®è¡ãè¿œå ããŸãã
<metadata> <field name="PubDate" dataType="DATE" /> <field name="Title" dataType="STRING" /> <field name="Link" dataType="STRING" /> <field name="Agency" dataType="STRING" /> <field name="Country" dataType="STRING" /> </metadata>
ãããã£ãŠã5ã€ã®ãã£ãŒã«ãã«ã€ããŠèª¬æããŸããã PubDateã¯ãèšäºã®å ¬éæ¥ãTitle-ãã®ã¿ã€ãã«ãLink-å šæãžã®ãªã³ã¯ãä¿åããŸãã [代çåº]ãã£ãŒã«ãã§ã¯ãèšäºã®ããŠã³ããŒãå ã®ãªãœãŒã¹ã®ååããåœã§ã¯-ãœãŒã¹ã®é åæå±ãããŒãããŸãã
ã¹ããã4 èšäºãèªã¿èŸŒããœãŒã¹ã説æããŸã
ã¿ã¹ã¯ãèšå®ãããšãã«ãããã¹ããRSSãã£ãŒãããããŠã³ããŒãããããšã«åæããŸããã äŸãšããŠããã¹ãŠã®ã»ã¯ã·ã§ã³ã®ãã¥ãŒã¹ãå ¬éãããã£ãŒãhttp://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/mainnews.rss rbc.ruãåãäžããŸãã ãã®ãªãœãŒã¹ã䜿çšããããã«iKnowã«æ瀺ããã«ã¯ãã³ãŒããè¿œå ããŸãã
<data> <rss serverName="static.feed.rbc.ru" url="/rbc/internal/rss.rbc.ru/rbc.ru/mainnews.rss" textElements="title,description" > <converter converterClass="%iKnow.Source.Converter.Html" /> <metadataValue field="Agency" value="RBC" /> <metadataValue field="Country" value="Russia" /> </rss> </data>
次ã«ããã®ã¬ã³ãŒãã®ãã£ãŒã«ãã«ã€ããŠè©³ãã説æããŸãã serverNameã¯ããµãŒããŒåã§ããããããã¬ãã«ãã¡ã€ã³ã®ååã§çµããRSSãã£ãŒããªã³ã¯ã®æåã®éšåïŒãã®å Žåã¯.ruïŒã§ãã ãªã³ã¯ã®2çªç®ã®éšåã¯ãurlãã©ã¡ãŒã¿ãŒã«æžã蟌ãŸããŸãã URLã¯åžžã«ã/ãã§å§ãŸãããšã«æ³šæããŠãã ããã ååºçç©ãããã¿ã€ãã«ãšããã¹ãã®2ã€ã®ããã¹ããã£ãŒã«ããèªã¿èŸŒã¿ãŸãïŒããã¹ããšã¯ããã£ãŒãã§å ¬éãããèšäºã®æ¬æãæå³ããŸããã»ãšãã©ã®å Žåãããã¯æ¬æ Œçãªè³æã§ã¯ãªããçã玹ä»ã§ãïŒ
次ã¯ã³ã³ããŒã¿ãŒã§ãã ç§ãã¡ã®å Žåãããã¯standardïŒ iKnow.Source.Converter.Htmlã§ããããã®ç®çã¯ãèªã¿èŸŒãŸããããã¹ããããã¹ãŠã®htmlã¿ã°ãåé€ããŠã¯ãªã¢ããã¹ããååŸããããšã§ãã
æåŸã«ãã¡ã¿ããŒã¿ã®ããŒãã«ã€ããŠèª¬æããŸãã ããå°ãäžã«5ã€ã®ãã£ãŒã«ããäœæãããã®ãã¡3ã€ã¯iKnowã«èªåçã«å ¥åãããŸããããã¯ãçºè¡æ¥ãã¿ã€ãã«ãèšäºå šäœãžã®ãªã³ã¯ã§ãã ããããæ®ãã®2ã€ã®ãã£ãŒã«ãã«å€ãå ¥åãããŸãã ã代çåºããã£ãŒã«ãã«ã¯ãRBCãããåœã-ããã·ã¢ããšèšèŒãããŸãã
ã¹ããã5 èŸæž
iKnowãã¯ãããžãŒã®å©ç¹ã®1ã€ã¯ãåºæ¬çãªããã¹ãåæã«ã¯èŸæžã䜿çšãããªãããã³ã³ãã¯ãã§é«éãªã»ãã³ãã£ãã¯èšèªã¢ãã«ã䜿çšãããããšã§ãã ãã ããèŸæžãå¿ èŠãªã¿ã¹ã¯ãããã€ããããŸãã ãããã®1ã€-ãããã³ã°-èšäºããããã¯ã«å²ãåœãŠãŸãïŒããšãã°ãã¹ããŒããæ¿æ²»ãçµæžåŠããŸãã¯å€åœäººã®äŸµå ¥ã®è åšã«é¢ããèšäºïŒã èšãæããã°ããã¡ã€ã³ã説æãããšãã«ãèšäºã1ã€ãŸãã¯å¥ã®ã«ããŽãªã«å²ãåœãŠãããããã¹ãã§èšåãããŠãããšãã«çšèªãæå®ã§ããŸãã 次ã®ã³ãŒããã¯ã©ã¹ã«è¿œå ããŸãã
<matching> <dictionary name="Sport"> <item name="" uri=":sport:" > <term string="" /> <term string="" /> <term string=" " /> <term string=" " /> </item> <item name="" uri=":sport:" > <term string="" /> <term string="" /> </item> <item name="" uri=":sport:" > <term string="" /> </item> <item name="" uri=":sport:" > <term string="" /> <term string="" /> <term string="-" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=""> <item name="" uri=":politics:" > <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=""> <item name="" uri=":Economy:"> <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=" "> <item name=" " uri=":ThreatFromSpace:"> <term string="" /> <term string="" /> <term string="" /> <term string=" " /> <term string="" /> </item> </dictionary> </matching>
äžèŽããã»ã¯ã·ã§ã³ã«ã¯ãèŸæžã®ã»ãããå«ãŸããŠããŸãã åãã£ã¯ã·ã§ããªã¯ãã«ããŽãªïŒãªããžã§ã¯ãïŒãµãã«ããŽãªïŒãšçšèªã«åå²ãããçšèªïŒã説æããŸãã ãã®èšäºã®ç®çã¯ãiKnowã®æ©èœãšã¡ã«ããºã ãç°¡åã«ç€ºãããšã§ããäžæ¹ãæ·±å»ãªã¿ã¹ã¯ã§ã¯ãèŸæžãæ·±å»ã§éåžžã«èšå€§ãªãã®ã«ããå¿ èŠããããŸãã
ã¹ããã6 æã¡äžã
ããã§ããã¡ã€ã³ãå®å šã«èª¬æãããŸããã
å
šæããã¹ãïŒ
Class HabrDomain.News Extends %iKnow.DomainDefinition { XData Domain [ XMLNamespace = TEST ] { <domain name="NewsAggregator" > <configuration name="Russian" languages="ru" stemming="DEFAULT" /> <parameter name="$$$IKPSTEMMING" value="1" /> <metadata> <field name="PubDate" dataType="DATE" /> <field name="Title" dataType="STRING" /> <field name="Link" dataType="STRING" /> <field name="Agency" dataType="STRING" /> <field name="Country" dataType="STRING" /> </metadata> <data> <rss serverName="static.feed.rbc.ru" url="/rbc/internal/rss.rbc.ru/rbc.ru/mainnews.rss" textElements="title,description" > <converter converterClass="%iKnow.Source.Converter.Html" /> <metadataValue field="Agency" value="RBC" /> <metadataValue field="Country" value="Russia" /> </rss> </data> <matching> <dictionary name="Sport"> <item name="" uri=":sport:" > <term string="" /> <term string="" /> <term string=" " /> <term string=" " /> </item> <item name="" uri=":sport:" > <term string="" /> <term string="" /> </item> <item name="" uri=":sport:" > <term string="" /> </item> <item name="" uri=":sport:" > <term string="" /> <term string="" /> <term string="-" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=""> <item name="" uri=":politics:" > <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=""> <item name="" uri=":Economy:"> <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> <term string="" /> </item> </dictionary> <dictionary name=" "> <item name=" " uri=":ThreatFromSpace:"> <term string="" /> <term string="" /> <term string="" /> <term string=" " /> <term string="" /> </item> </dictionary> </matching> </domain> } ClassMethod DeleteDomain(DomainName As %String) As %Status { set tSC = ##class(%iKnow.Domain).%OpenId(..%GetDomainId()).DropData(1, 1, 1, 1, 1) quit:$$$ISERR(tSC) tSC quit ##class(%iKnow.Domain).%DeleteId(..%GetDomainId()) } }
ã³ãŒãã«è¿œå ããDeleteDomainã¡ãœããã«é¢ããããã€ãã®èšèã äœæããããã¡ã€ã³ã¯ãïŒ iKnowDomainã¯ã©ã¹ã®ãªããžã§ã¯ããšããŠååšããŸããããã¡ã€ã³ã管çããã®ã¯HabrDomain.Newsã¯ã©ã¹ã®å éšã¡ãœããã«ãã£ãŠã®ã¿åé€ã§ããŸãã
æåŸã«ãèšç®ãéå§ã§ããŸãã
do ##ã¯ã©ã¹ïŒHabrDomain.NewsïŒãïŒ BuildïŒïŒ
ãã®çµæãåœç€Ÿã瀺ãããœãŒã¹ããã®èšäºã¯ãã³ã³ãã€ã«äžã«äœæãããNewsAggregatorãã¡ã€ã³ã«è¿œå ãããŸãã ããã«ãããŒã¿ã¯ãããã³ã°ãã£ã¯ã·ã§ããªããã®ããŒã«ãŒã«ã€ããŠåæãããŸãã
7çªç®ã®ã¹ãããã çµæãèŠã
çµæã衚瀺ããæã䟿å©ãªæ¹æ³ã¯ã Knowledge Portal ãçµæã®ã€ã³ããã¯ã¹äœæãçµæã®äžèŽãªã©ãæ¢åã®UIã®ããããã䜿çšããããšã§ãã
å³1.ãã¬ããžããŒã¿ã«ã
Knowledge Portalã§ã¯ãiKnowã®çµæã®åæåæãå®æœã§ããŸãã ããã§ã¯ãäœæãããã¡ã€ã³ã®ãããããéžæã§ããŸãããã®å Žåã¯NewsAggregatorã§ãã ãäžäœæŠå¿µãã®è¡šã¯ãç¹å®ã®æŠå¿µã«èšåããé »åºŠã瀺ããŠããŸããäžæ¹ãé »åºŠã¯æŠå¿µãžã®åç §ã®æ°ã§ãããåºããã¯æŠå¿µãååšããèšäºã®æ°ã§ãã ãã®ããŒãã«ã§ã³ã³ã»ãããéžæãããšïŒå³1ã®ããã·ã¢ãã³ã³ã»ãããéžæãããŸãïŒããé¡äŒŒãšã³ãã£ãã£ãããé¢é£ã³ã³ã»ããããããã¹ããããœãŒã¹ãããŒãã«ã®å 容ãæŽæ°ãããŸãã
ãé¡äŒŒã®æŠå¿µãè¡šã«ã¯ãé¡äŒŒã®æŠå¿µã衚瀺ãããŸãã ç§ãã¡ã®å Žåãããã·ã¢ããšããåèªãèŠã€ãã£ãããè¿œå ã®çšèªïŒããã·ã¢ã®ã»ã«ãã¢å€§äœ¿ããªã©ïŒã®æŠå¿µãåæ§ã§ãã ããŒãã«ãé¢é£æŠå¿µãã¯ãããŒããããèšäºã®æ°ãå°ãªãããã«ç©ºã§ããããšãå€æããå Žåãéžæãããèšäºã«é¢é£ããŠæãé »ç¹ã«èšåãããæŠå¿µã®ãªã¹ããå«ãŸããŸãã 以äžã®äŸã§ã¯ããã®ãããªæŠå¿µã¯æäœã§ç€ºããŠããŸãã
- [ãã·ã¢]ã®[ ã€ã³ã㬠]
- [ EU貿æèµ€å ] [ãã·ã¢]
- [ãã·ã¢] [å ±åŸ©æªçœ®]ã«å¯Ÿãã[ æš©å© ]ã®çä¿
å³2.ã€ã³ããã¯ã¹äœæã®çµæã
[ã€ã³ããã¯ã¹çµæ]ãŠã£ã³ããŠã§ã¯ãã€ã³ããã¯ã¹çµæãåæã§ããŸãã ããã§ã¯ãæŠå¿µã¯è²ã§åŒ·èª¿è¡šç€ºãããæäœïŒãªã³ã¯ïŒããã³ç°è²ã®æäœïŒéèŠã§ãªãåèªïŒã§äžç·ãåŒãããŠããŸãã ååãšããŠããã®ãŠã£ã³ããŠã¯ãã€ã³ããã¯ã¹çµæã«åºã¥ããŠãã¡ã€ã³èšå®ã®æ£ç¢ºæ§ã確èªããããã«äœ¿çšãããŸãããèšäºã®ããã¹ããèªãã®ã«ãéåžžã«äŸ¿å©ã§ãïŒããšãã°ãèŸæžãã³ã³ãã€ã«ãããšãïŒã
å³3.äžèŽããçµæã
æåŸã«ãå©çšå¯èœãª3çªç®ã®ãŠã£ã³ããŠã¯ãMatching Resultsã§ãã ããã§ã¯ããã¡ã€ã³ã®èª¬æã«è¿œå ããèŸæžããšã«èšäºãåé¡ããçµæãèŠãããšãã§ããŸãã ããã¹ãã§èµ€ã§åŒ·èª¿è¡šç€ºãããŠããæŠå¿µã¯ãèŸæžã®çšèªãšå®å šã«äžèŽããããšãæå³ããŸãã èµ€æ¯ã«æŠå¿µãã¬ãŒã ãããªãå Žåãããã¯èŸæžã«äŒŒãŠããŸãã
åšåº«ã確èªããæãæ¥ãŸããã æãç°¡åãªãã¥ãŒã¹ã¢ã°ãªã²ãŒã¿ãŒã®äœææ¹æ³ãåŠã³ãŸããã ãããè¡ãããã«ãïŒ iKnow.DomainDefinitionã¯ã©ã¹ã䜿çšããŠãã¡ã€ã³ã圢æãããŸããã ãã®ãã¡ã€ã³ã§ã¯ããã·ã¢èªãšèŠåºãèªåããŒã«ããµããŒãããæ§æãäœæãããŸããã RSSãã£ãŒãã®åœ¢åŒã®ãœãŒã¹ãè¿œå ãããŸããã ãããŠæåŸã«ãåé¡çšã®èŸæžãäœæããŸããã ãã®åŸã圌ãã¯ãã¡ã€ã³ã®æ§ç¯ãéå§ããæšæºUIã䜿çšããŠçµæãåæããŸããã
ãã®èšäºã§ã¯ãRSSãã£ãŒãããã®ãã¥ãŒã¹åæã®äŸã䜿çšããŠiKnowãã¡ã€ã³ãäœæããäŸã瀺ããŸãã ãã¡ã€ã³ãäœæããããã«ãïŒ iKnow.DomainDefinitionã¯ã©ã¹ã䜿çšãããŸããã ãã·ã¢èªã®ãµããŒããšèŠåºãèªåããµããŒããããã¡ã€ã³æ§æãäœæãããRSSãã£ãŒãã®ãœãŒã¹ãè¿œå ãããèšäºãåé¡ããããã®ç°¡åãªèŸæžãäœæãããŸããã
DomainDefinitionã¯ã©ã¹ã¯ãiKnowã䜿çšããŠãã¡ã€ã³ããã°ããäœæãããããã¿ã€ããäœæããã®ã«æé©ã§ãã å®éã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåé¡ããã³ææ åæã®çšèªã®èŸæžã«ã¯ãæ°çŸãŸãã¯æ°åãã®åèªãå«ãŸããŸãã ãã®ãããªãããžã§ã¯ãã§ã¯ãïŒ iKnow.Domainã¯ã©ã¹ã䜿çšãããŸããããã«ãããä»ã®èå³æ·±ãã¿ã¹ã¯ãå®è¡ããããšãã§ããŸãã ããã«ã€ããŠã¯ã次åã®èšäºã§èª¬æããŸãã