Share
Embed
Solr入門?
Jun Ohtani
June 18, 2013
Transcript
69 slides
-
༻ޠ จॻʢυΩϡϝϯτʣ ɹݕࡧΤϯδϯʹอଘ͞ΕͨσʔλɻRDBͰͷϨίʔυʹ૬ ΫΤϦ ɹݕࡧ݅ɺݕࡧࣜ εΩʔϚ ɹRDBͷςʔϒϧʹ૬ ϑΟʔϧυ ɹRDBͷΧϥϜʹ૬ λʔϜʢTermʣ/τʔΫϯʢTokenʣ
ɹΠϯσοΫεͷΩʔʹͳΔ୯ޠʢจࣈྻʣ 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొͷྲྀΕ 1 2 ΧπΦαβΤͷఋ αβΤϫΧϝͷ࢞ 1 2 ΧπΦ αβΤ
ͷ ͷ αβΤ ϫΧϝ ఋ ࢞ υΩϡϝϯτͷొ ୯ޠʹׂ 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొͷྲྀΕ 1 2 ΧπΦαβΤͷఋ αβΤϫΧϝͷ࢞ 1 2 ΧπΦ αβΤ
ͷ ͷ αβΤ ϫΧϝ ఋ ࢞ ΧπΦ αβΤ 1 1 2 ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 υΩϡϝϯτͷొ ୯ޠʹׂ ୯ޠ͔Βidͷྻ͕Ҿ ͚ΔΑ͏ʹ ʹసஔΠϯσοΫε 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ 1 1 2 ͷ
࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2
ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ AND 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2
ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ AND 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2
ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ AND 136݄19ਫ༵ -
ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2
ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ ˠANDݕࡧͳͷͰidͷ ྻͷANDΛͱΔ AND 136݄19ਫ༵ -
N-gram N͕2ͷ࣌ͷྫɿ ϝϦοτɿ ݕࡧ࿙Ε͕ͳ͍ σϝϦοτɿ ਫ਼͕ѱ͍"ʮΧπʯͰώοτͪ͠Ό͏ ΠϯσοΫε͕ංେԽ ޠװʢ୯ޠͷجຊܗͱ͔ʣͰݕࡧෆՄ ΧπΦαβΤͷఋ Χπ
πΦ Φ α αβ βΤ Τͷ ͷఋ 136݄19ਫ༵ -
SolrͷΞʔΩςΫνϟ &RQWHQW )HHGHU HJ6ROU- &RQWHQW &RQQHFWRUV 0&) &RQWHQW 6RXUFHV ,QGH[
/XFHQH 6ROU:HE$SS VFKHPD VROU FRQILJ 8SGDWH&KDLQ $QDO\VLV 6HDUFK5HTXHVW +DQGOLQJ 4XHU\ 4XHU\ 3DUVHU 8SGDWH5HTXHVW +DQGOLQJ -DYD$SS6HUYHU 6HDUFK&RPS 6ROU&RUH $GPLQ 6WDWV =RR .HHSHU 5HVS :ULWHU $SDFKH6ROU &RQFHSWXDO $UFKLWHFWXUH $GPLQ 8VHU 8SGDWH +DQGOHU ,OOXVWUDWLRQE\&RPLQYHQW$6 <RXPD\IUHHO\XVHLWDV ORQJDV\RXDWWULEXWHZLWK OLQNWRZZZFRPLQYHQWFRP DFFRUGLQJWR&&E\OLFHQVH ZZZFUHDWLYHFRPPRQVRUJ 2ULJLQDOGLDJUDPE\ ZZZFRPLQYHQWFRP &RUH $GPLQ &RO OHFWLRQ $GPLQ ςΩετ Original diagram byɹ http://www.cominvent.com 136݄19ਫ༵ -
ߏ֓ཁ Solr Web App SolrαʔόɻJ2EEαʔό্Ͱಈ࡞ SolrCore 1ͭͷΠϯσοΫεΛཧ schema.xmlͱsolrconfig.xmlͰίΞͷڍ ಈɺεΩʔϚΛఆٛ 1ͭͷSolrServer্ͰɺෳͷCoreΛىಈͰ͖
ΔɻʢϚϧνίΞʣ ͦΕͧΕͷίΞ͝ͱʹεΩʔϚͷઃఆ͕Մೳ 136݄19ਫ༵ -
ߏ֓ཁ Update Reuqest Handling ߋ৽ॲཧΛUpdateChainͱ͍͏ܗͰఆٛՄೳ SolrଆͰొલॲཧΛॻ͚Δ ྫɿݴޠผͯ͠ɺϑΟʔϧυΛܾఆͳͲ http://wiki.apache.org/solr/UpdateRequestProcessor Search Request
Handling ݕࡧΫΤϦΛड͚औΓ݁ՌΛग़ྗ͢Δॲཧ SearchComponentͷΈ߹ΘͤʹΑΓఆٛՄೳ http://wiki.apache.org/solr/SolrRequestHandler 136݄19ਫ༵ -
SolrͷΞʔΩςΫνϟ &RQWHQW )HHGHU HJ6ROU- &RQWHQW &RQQHFWRUV 0&) &RQWHQW 6RXUFHV ,QGH[
/XFHQH 6ROU:HE$SS VFKHPD VROU FRQILJ 8SGDWH&KDLQ $QDO\VLV 6HDUFK5HTXHVW +DQGOLQJ 4XHU\ 4XHU\ 3DUVHU 8SGDWH5HTXHVW +DQGOLQJ -DYD$SS6HUYHU 6HDUFK&RPS 6ROU&RUH $GPLQ 6WDWV =RR .HHSHU 5HVS :ULWHU $SDFKH6ROU &RQFHSWXDO $UFKLWHFWXUH $GPLQ 8VHU 8SGDWH +DQGOHU ,OOXVWUDWLRQE\&RPLQYHQW$6 <RXPD\IUHHO\XVHLWDV ORQJDV\RXDWWULEXWHZLWK OLQNWRZZZFRPLQYHQWFRP DFFRUGLQJWR&&E\OLFHQVH ZZZFUHDWLYHFRPPRQVRUJ 2ULJLQDOGLDJUDPE\ ZZZFRPLQYHQWFRP &RUH $GPLQ &RO OHFWLRQ $GPLQ ͜͜ Original diagram byɹ http://www.cominvent.com 136݄19ਫ༵ -
FieldType:ςΩετܥ ྫɿtext_jaϑΟʔϧυܕ <fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false"> <analyzer> <tokenizer class="solr.JapaneseTokenizerFactory"
mode="search"/> <filter class="solr.JapaneseBaseFormFilterFactory"/> <filter class="solr.JapanesePartOfSpeechStopFilterFactory" tags="lang/stoptags_ja.txt" /> ... </analyzer> </fieldType> nameɺclassඇςΩετܥಉ༷ AnalysisॲཧΛఆٛՄೳ 136݄19ਫ༵ -
Field લड़ͨ͠FieldܕΛར༻ͯ͠ɺ࣮ࡍʹݕࡧʹར༻͢Δϑ ΟʔϧυΛఆٛ ྫɿ <field name="features" type="text_general" indexed="true" stored="true" multiValued="true"/>
nameɿϑΟʔϧυ໊ typeɿϑΟʔϧυܕʢFieldTypeͰఆٛ͞Ε͍ͯΔͷʣ 136݄19ਫ༵ -
Fieldఆٛͷઃఆ߲ ଐੑ໊ આ໌ σϑΥϧτ indexed ݕࡧରϑΟʔϧυ͔Ͳ͏͔ true stored ϑΟʔϧυΛอଘ͢Δ͔Ͳ͏͔ true
required ඞਢϑΟʔϧυ͔Ͳ͏͔ false multiValued ϑΟʔϧυ͕ྻܕʢෳʣ͔Ͳ͏͔ false omitNorms normΛอଘ͢Δ false termVectors termPositions termOffsets Termʹؔ͢ΔใΛอଘ͢Δ false 136݄19ਫ༵ -
addσʔλαϯϓϧʢXMLʣ <add> <doc> <field name="authors">Patrick Eagar</field> <field name="subject">Sports</field> <field name="dd">796.35</field>
<field name="numpages">128</field> <field name="desc"></field> <field name="price">12.40</field> <field name="title" boost="2.0">Summer of the all-rounder: Test and championship cricket in England 1982</field> <field name="isbn">0002166313</field> <field name="yearpub">1982</field> <field name="publisher">Collins</field> </doc> <doc boost="2.5"> ... </doc> </add> 136݄19ਫ༵ -
SolrͷΞʔΩςΫνϟ &RQWHQW )HHGHU HJ6ROU- &RQWHQW &RQQHFWRUV 0&) &RQWHQW 6RXUFHV ,QGH[
/XFHQH 6ROU:HE$SS VFKHPD VROU FRQILJ 8SGDWH&KDLQ $QDO\VLV 6HDUFK5HTXHVW +DQGOLQJ 4XHU\ 4XHU\ 3DUVHU 8SGDWH5HTXHVW +DQGOLQJ -DYD$SS6HUYHU 6HDUFK&RPS 6ROU&RUH $GPLQ 6WDWV =RR .HHSHU 5HVS :ULWHU $SDFKH6ROU &RQFHSWXDO $UFKLWHFWXUH $GPLQ 8VHU 8SGDWH +DQGOHU ,OOXVWUDWLRQE\&RPLQYHQW$6 <RXPD\IUHHO\XVHLWDV ORQJDV\RXDWWULEXWHZLWK OLQNWRZZZFRPLQYHQWFRP DFFRUGLQJWR&&E\OLFHQVH ZZZFUHDWLYHFRPPRQVRUJ 2ULJLQDOGLDJUDPE\ ZZZFRPLQYHQWFRP &RUH $GPLQ &RO OHFWLRQ $GPLQ ͜͜ Original diagram byɹ http://www.cominvent.com 136݄19ਫ༵ -
ग़ྗܗࣜ wtύϥϝʔλʹΑΓࢦఆՄೳ solrconfig.xmlʹ<queryResponseWriter>Ͱઃఆ ҎԼઃఆͳ͠Ͱར༻Մೳ http://wiki.apache.org/solr/QueryResponseWriter આ໌ xml xml XMLܗࣜɻσϑΥϧτ
json JSONܗࣜ python PythonͷγϦΞϥΠζܗࣜ ruby RubyͷγϦΞϥΠζܗࣜ php PHPͷevalؔܗࣜ phps PHPͷγϦΞϥΠζܗࣜ csv CSVܗࣜ 136݄19ਫ༵ -
ͦͷଞݕࡧύϥϝʔλ ओͳύϥϝʔλ ύϥϝʔλ આ໌ σϑΥϧτ start ݁ՌͷελʔτҐஔ 0 rows औಘ݅
10 fl औಘϑΟʔϧυ *,score fq ߜΓࠐΈ݅ df σϑΥϧτݕࡧϑΟʔϧυ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr
Core index index index shard title:Apache 136݄19ਫ༵ -
ࢄݕࡧͷΈ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr
Core index index index shard title:Apache title:Apache title:Apache 136݄19ਫ༵ -
ࢄݕࡧͷΈ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr
Core index index index shard title:Apache title:Apache title:Apache 136݄19ਫ༵ -
ࢄݕࡧͷΈ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr
Core index index index shard idͷϦετ idͷϦετ idͷϦετ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr
Core index index index shard idͷϦετ idͷϦετ idͷϦετ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard ֤shard͔Β ͷ݁ՌΛείΞ Ͱιʔτ͠ɺඞ ཁͳ෦ΛऔΓ ग़͢ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard ฦ٫σʔλऔಘ ͷͨΊɺ֤ shardʹidͰ ͍߹Θͤ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard flύϥϝʔλͰࢦఆ͞Εͨ ϑΟʔϧυใΛฦ٫ 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard 136݄19ਫ༵ -
ࢄݕࡧͷΈ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr
Core index index index shard ݁ՌΛXMLԽͯ͠ Ϩεϙϯεग़ྗ 136݄19ਫ༵ -
ࢀߟURL SolrຊՈͷWikiɿ ɹhttp://wiki.apache.org/solr/ LucidWorksͷϦϑΝϨϯεΨΠυɿ ɹhttp://docs.lucidworks.com/display/solr/Apache+Solr +Reference+Guide Tokenizerͷಈ࡞ʹ͍ͭͯʢLucene Revolution 2013ͷεϥΠυʣ ɹhttp://www.lucenerevolution.org/sites/default/files/
Language%20support%20and%20linguistics%20in %20LuceneSolr%20%26%20its%20eco-system.pdf Lucene RevolutionͷαΠτ ɹhttp://www.lucenerevolution.org/2013/Lucene-Solr- Revolution-2013-Presentations 136݄19ਫ༵