Slide 1

Slide 1 text

Solrೖ໳? 2013/06/18 @johtani 13೥6݄19೔ਫ༵೔

Slide 2

Slide 2 text

ࣗݾ঺հ ࢯ໊ɿେ୩ɹ७ Twitterɿ@johtani lucene-gosenͷίϛολʔ چϒϩάɿhttp://johtani.jugem.jp ৽ϒϩάɿhttp://blog.johtani.info ɹ※࠷ۙOctopressͰॻ͍ͯ·͢ 13೥6݄19೔ਫ༵೔

Slide 3

Slide 3 text

ݕࡧΤϯδϯͬͯʁ 13೥6݄19೔ਫ༵೔

Slide 4

Slide 4 text

શจݕࡧͬͯʁ શจݕࡧʢFull text searchʣͱ͸ɺίϯϐϡʔλ ʹ͓͍ͯɺෳ਺ͷจॻʢϑΝΠϧʣ͔ΒಛఆͷจࣈྻΛ ݕࡧ͢Δ͜ͱɻʮϑΝΠϧ໊ݕࡧʯ΍ʮ୯ҰϑΝΠϧ಺ ͷจࣈྻݕࡧʯͱҟͳΓɺʮෳ਺จॻʹ·͕ͨͬͯɺจ ॻʹؚ·ΕΔશจΛର৅ͱͨ͠ݕࡧʯͱ͍͏ҙຯͰ࢖༻ ͞ΕΔɻ ʢWikipediaΑΓʣ 13೥6݄19೔ਫ༵೔

Slide 5

Slide 5 text

༻ޠ จॻʢυΩϡϝϯτʣ ɹݕࡧΤϯδϯʹอଘ͞ΕͨσʔλɻRDBͰͷϨίʔυʹ૬౰ ΫΤϦ ɹݕࡧ৚݅ɺݕࡧࣜ εΩʔϚ ɹRDBͷςʔϒϧʹ૬౰ ϑΟʔϧυ ɹRDBͷΧϥϜʹ૬౰ λʔϜʢTermʣ/τʔΫϯʢTokenʣ ɹΠϯσοΫεͷΩʔʹͳΔ୯ޠʢจࣈྻʣ 13೥6݄19೔ਫ༵೔

Slide 6

Slide 6 text

ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొ࿥ͷྲྀΕ 1 2 ΧπΦ͸αβΤͷఋ αβΤ͸ϫΧϝͷ࢞ υΩϡϝϯτͷొ࿥ 13೥6݄19೔ਫ༵೔

Slide 7

Slide 7 text

ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొ࿥ͷྲྀΕ 1 2 ΧπΦ͸αβΤͷఋ αβΤ͸ϫΧϝͷ࢞ 1 2 ΧπΦ αβΤ ͸ ͸ ͷ ͷ αβΤ ϫΧϝ ఋ ࢞ υΩϡϝϯτͷొ࿥ ୯ޠʹ෼ׂ 13೥6݄19೔ਫ༵೔

Slide 8

Slide 8 text

ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొ࿥ͷྲྀΕ 1 2 ΧπΦ͸αβΤͷఋ αβΤ͸ϫΧϝͷ࢞ 1 2 ΧπΦ αβΤ ͸ ͸ ͷ ͷ αβΤ ϫΧϝ ఋ ࢞ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 υΩϡϝϯτͷొ࿥ ୯ޠʹ෼ׂ ୯ޠ͔Βidͷ഑ྻ͕Ҿ ͚ΔΑ͏ʹ ʹసஔΠϯσοΫε 13೥6݄19೔ਫ༵೔

Slide 9

Slide 9 text

ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ 13೥6݄19೔ਫ༵೔

Slide 10

Slide 10 text

ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ AND 13೥6݄19೔ਫ༵೔

Slide 11

Slide 11 text

ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ AND 13೥6݄19೔ਫ༵೔

Slide 12

Slide 12 text

ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ AND 13೥6݄19೔ਫ༵೔

Slide 13

Slide 13 text

ݕࡧΤϯδϯͷಈ࡞ ݕࡧͷྲྀΕ ΧπΦɹαβΤ ΧπΦ αβΤ ΧπΦ αβΤ 1 1 2 ͸ ͷ ࢞ ϫΧϝ 2 1 2 1 2 1 ఋ 2 ݕࡧจࣈೖྗ ݕࡧจࣈͷύʔε ʴݕࡧΫΤϦԽ సஔΠϯσοΫεΛ ݕࡧ ˠANDݕࡧͳͷͰidͷ ഑ྻͷANDΛͱΔ AND 13೥6݄19೔ਫ༵೔

Slide 14

Slide 14 text

N-gramͱܗଶૉղੳ సஔΠϯσοΫεͷΩʔʢ୯ޠʣͷ࡞Γํ ೔ຊޠ͸୯ޠͷ੾Ε໨͕Θ͔Βͳ͍ͷͰసஔΠϯσοΫ εͷΩʔ͸ओʹͭ͗ͷ2ͭͷख๏Ͱ࡞Δ N-gram Nʢ1Ҏ্ͷ਺ࣈʣจࣈͣͭจষΛ۠੾Δ ܗଶૉղੳ ࣙॻͳͲΛ༻͍ͯҙຯͷ͋Δ୯ޠͰ۠੾Δ 13೥6݄19೔ਫ༵೔

Slide 15

Slide 15 text

N-gram N͕2ͷ࣌ͷྫɿ ϝϦοτɿ ݕࡧ࿙Ε͕ͳ͍ σϝϦοτɿ ਫ਼౓͕ѱ͍"ʮΧπʯͰ΋ώοτͪ͠Ό͏ ΠϯσοΫε͕ංେԽ ޠװʢ୯ޠͷجຊܗͱ͔ʣͰݕࡧෆՄ ΧπΦ͸αβΤͷఋ Χπ πΦ Φ͸ ͸α αβ βΤ Τͷ ͷఋ 13೥6݄19೔ਫ༵೔

Slide 16

Slide 16 text

ܗଶૉղੳ ܗଶૉղੳͷྫɿ ϝϦοτɿ ਫ਼౓͕Α͍ɿʮΧπʯͰݕࡧ"ʮΧπΦʯώοτ͠ͳ͍ ޠװʹΑΔݕࡧ͕ՄೳɿʮҿΈʯ"ʮҿΉʯ͕ݕࡧՄ σϝϦοτɿ ৽ޠʢະ஌ޠʣʹऑ͍"ࣙॻϕʔεͷ৔߹ʹࣙॻʹͳ͍ ୯ޠ͕Θ͔Βͳ͍ɻࣙॻߋ৽ޙ͸ΠϯσοΫε࠶࡞੒ ΧπΦ͸αβΤͷఋ ΧπΦ ͸ ͷ αβΤ ఋ 13೥6݄19೔ਫ༵೔

Slide 17

Slide 17 text

Lucene/Solrͬͯʁ 13೥6݄19೔ਫ༵೔

Slide 18

Slide 18 text

LuceneͱSolrͷؔ܎ LuceneɿશจݕࡧϥΠϒϥϦ ɹʢసஔΠϯσοΫεϥΠϒϥϦʣ http://lucene.apahce.org/core/ SolrɿLuceneΛར༻ͨ͠શจݕࡧαʔό ɹྨࣅͷ΋ͷͱͯ͠ElasticSearchͳͲ http://lucene.apache.org/solr/ 13೥6݄19೔ਫ༵೔

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Solrͷߏ੒ύλʔϯ EmbeddedSolrɿJVM಺ͰSolrΛىಈ WebΞϓϦʢ୯ҰʣɿJ2EEαʔό্ͰSolrΛىಈ Solr͸exampleͱͯ͠JettyΛ಺แ ෼ࢄݕࡧɿෳ਺ͷSolrΛ̍ͭͷΠϯσοΫεͱͯ͠ݕ ࡧɻʢݕࡧػೳͷΈɻΠϯσοΫεʣ http://wiki.apache.org/solr/DistributedSearch SolrCloudɿෳ਺ͷJ2EEαʔόͰΫϥελΛߏ੒ http://wiki.apache.org/solr/SolrCloud 13೥6݄19೔ਫ༵೔

Slide 21

Slide 21 text

ߏ੒֓ཁ Solr Web App SolrαʔόɻJ2EEαʔό্Ͱಈ࡞ SolrCore 1ͭͷΠϯσοΫεΛ؅ཧ schema.xmlͱsolrconfig.xmlͰίΞͷڍ ಈɺεΩʔϚΛఆٛ 1ͭͷSolrServer্Ͱɺෳ਺ͷCoreΛىಈͰ͖ ΔɻʢϚϧνίΞʣ ͦΕͧΕͷίΞ͝ͱʹεΩʔϚͷઃఆ͕Մೳ 13೥6݄19೔ਫ༵೔

Slide 22

Slide 22 text

ߏ੒֓ཁ Update Reuqest Handling ߋ৽ॲཧΛUpdateChainͱ͍͏ܗͰఆٛՄೳ SolrଆͰొ࿥લॲཧΛॻ͚Δ ྫɿݴޠ൑ผͯ͠ɺϑΟʔϧυΛܾఆͳͲ http://wiki.apache.org/solr/UpdateRequestProcessor Search Request Handling ݕࡧΫΤϦΛड͚औΓ݁ՌΛग़ྗ͢Δॲཧ SearchComponentͷ૊Έ߹ΘͤʹΑΓఆٛՄೳ http://wiki.apache.org/solr/SolrRequestHandler 13೥6݄19೔ਫ༵೔

Slide 23

Slide 23 text

ߏ੒֓ཁ Analysis υΩϡϝϯτɺΫΤϦΛTokenʹ෼ղ͢Δॲཧ ࠷ऴతͳToken͕సஔΠϯσοΫεͷΩʔ 13೥6݄19೔ਫ༵೔

Slide 24

Slide 24 text

AnalysisͷྲྀΕ http://www.lucenerevolution.org/sites/ default/files/Language%20support%20and %20linguistics%20in%20LuceneSolr %20%26%20its%20eco-system.pdf 13೥6݄19೔ਫ༵೔

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

CharFilter TokenizerΑΓલͷจࣈྻʹରͯ͠ॲཧ Tokenize͞ΕΔલͷਖ਼نԽॲཧʹར༻ ྫɿʮűƄŖſʯ"ʮϏʔϧʯ ྫɿʮ̍ʯ"ʮ1ʯ http://wiki.apache.org/solr/ AnalyzersTokenizersTokenFilters#Char_Filters 13೥6݄19೔ਫ༵೔

Slide 27

Slide 27 text

Tokenizer/TokenFilter ͍ͬͺ͍͋Γ·͢ɻಠ࣮ࣗ૷΋Մೳ http://wiki.apache.org/solr/ AnalyzersTokenizersTokenFilters 13೥6݄19೔ਫ༵೔

Slide 28

Slide 28 text

ઃఆϑΝΠϧ ओͳઃఆϑΝΠϧ solrconfig.xmlɿαʔόʹؔ͢ΔઃఆΛهࡌ ΩϟογϡઃఆɺόοϑΝαΠζͳͲ schema.xmlɿΠϯσοΫεͷߏ੒ʹؔ͢ΔఆٛΛ هࡌ ϑΟʔϧυఆٛɺϑΟʔϧυλΠϓఆٛͳͲ ͜ΕΒͷઃఆΛมߋͨ͠৔߹͸SoreCoreͷ࠶ىಈ͕ඞ ཁʢSolrαʔόͰ͸ͳ͍ʣ 13೥6݄19೔ਫ༵೔

Slide 29

Slide 29 text

schema.xml ΠϯσοΫεͷߏ੒ΛXMLʹͯఆٛ ϑΟʔϧυఆٛʢλά಺ʣ ݕࡧʹར༻͢ΔϑΟʔϧυ໊ͷઃఆ ϑΟʔϧυܕʢλά಺ʣ ϑΟʔϧυܕʢstringɺlongͳͲʣΛఆٛ ίϐʔϑΟʔϧυʢλάʣ Solr಺෦ͰϑΟʔϧυͷ஋Λίϐʔ͢Δఆٛ 13೥6݄19೔ਫ༵೔

Slide 30

Slide 30 text

FieldType ϑΟʔϧυܕ͸େ͖͘2छྨ ඇςΩετܥ TokenizeॲཧΛߦΘͳ͍ ςΩετܥ TokenizeॲཧΛߦ͏ 13೥6݄19೔ਫ༵೔

Slide 31

Slide 31 text

FieldTypeɿඇςΩετܥ ྫɿจࣈྻܕ nameɿϑΟʔϧυܕ໊ɻFieldఆٛ࣌ʹར༻ classɿSolr͕ఏڙ͍ͯ͠ΔΫϥε ※ಠࣗʹ࣮૷ɺఆٛ͢Δ͜ͱ͸΄΅ͳ͍ 13೥6݄19೔ਫ༵೔

Slide 32

Slide 32 text

FieldType:ςΩετܥ ྫɿtext_jaϑΟʔϧυܕ ... nameɺclass͸ඇςΩετܥಉ༷ AnalysisॲཧΛఆٛՄೳ 13೥6݄19೔ਫ༵೔

Slide 33

Slide 33 text

Field લड़ͨ͠FieldܕΛར༻ͯ͠ɺ࣮ࡍʹݕࡧʹར༻͢Δϑ ΟʔϧυΛఆٛ ྫɿ nameɿϑΟʔϧυ໊ typeɿϑΟʔϧυܕʢFieldTypeͰఆٛ͞Ε͍ͯΔ΋ͷʣ 13೥6݄19೔ਫ༵೔

Slide 34

Slide 34 text

Fieldఆٛͷઃఆ߲໨ ଐੑ໊ આ໌ σϑΥϧτ indexed ݕࡧର৅ϑΟʔϧυ͔Ͳ͏͔ true stored ϑΟʔϧυ஋Λอଘ͢Δ͔Ͳ͏͔ true required ඞਢϑΟʔϧυ͔Ͳ͏͔ false multiValued ϑΟʔϧυ͕഑ྻܕʢෳ਺஋ʣ͔Ͳ͏͔ false omitNorms norm஋Λอଘ͢Δ false termVectors termPositions termOffsets Termʹؔ͢Δ৘ใΛอଘ͢Δ false 13೥6݄19೔ਫ༵೔

Slide 35

Slide 35 text

ϑΟʔϧυΦϓγϣϯͱϢʔεέʔε http://wiki.apache.org/solr/FieldOptionsByUseCase 13೥6݄19೔ਫ༵೔

Slide 36

Slide 36 text

μΠφϛοΫϑΟʔϧυ ϑΟʔϧυ໊Λొ࿥࣌ʹࢦఆͰ͖Δ࢓૊Έ schema.xmlΛมߋ͠ͳ͍Ͱ΋ϑΟʔϧυΛ௥ՃՄೳ ϑΟʔϧυ໊͔ΒϑΟʔϧυܕΛղܾ ྫɿʮ_dtʯͰऴΘΔ໊લͷ࣌͸೔෇ܕͱͯ͢͠Δ 13೥6݄19೔ਫ༵೔

Slide 37

Slide 37 text

Indexing 13೥6݄19೔ਫ༵೔

Slide 38

Slide 38 text

ొ࿥ɺߋ৽ํ๏ REST API HTTPܦ༝Ͱొ࿥ɺߋ৽Մೳ XMLɺJSONɺCSVܗࣜͰొ࿥Մೳ ίϚϯυπʔϧʢpost.jarɺpost.shʣ XMLܗࣜͷϑΝΠϧΛొ࿥ɺߋ৽Մೳ ಺෦Ͱ͸HTTPܦ༝ͰSolrʹΞΫηε 13೥6݄19೔ਫ༵೔

Slide 39

Slide 39 text

࣮ࡍͷొ࿥ͷྲྀΕ add Solrʹσʔλ͕ૹΒΕɺసஔΠϯσοΫε࡞੒ σʔλͷमਖ਼΋addʢ಺෦Ͱdelete-insertʣ commitʢhard commitʣ addͨ͠σʔλΛݕࡧՄೳʹ ҰԠrollback΋͋Δ ※ηογϣϯͷ֓೦͕ͳ͍ͨΊɺ୭͕add͔ͨ͠͸൑ผ ͍ͯ͠ͳ͍ɻͦͷͨΊෳ਺ͷΫϥΠΞϯτ͔Βaddͯ͠ ͩΕ͔͕commitͨ͠Βɺ͢΂͕ͯݕࡧՄೳʹͳΔ 13೥6݄19೔ਫ༵೔

Slide 40

Slide 40 text

addσʔλαϯϓϧʢXMLʣ Patrick Eagar Sports 796.35 128 12.40 Summer of the all-rounder: Test and championship cricket in England 1982 0002166313 1982 Collins ... 13೥6݄19೔ਫ༵೔

Slide 41

Slide 41 text

soft commit ϝϞϦ্ͷΠϯσοΫε΁ͷίϛοτ ଈ࣌ݕࡧର৅ͱ͢Δ͜ͱ͕Ͱ͖ΔʢҰ෦੍ݶ͋Γʣ ϑΝΠϧ΁ͷύʔγετ͸࣮ࢪ͠ͳ͍ http://wiki.apache.org/solr/UpdateXmlMessages#A. 22commit.22_and_.22optimize.22 13೥6݄19೔ਫ༵೔

Slide 42

Slide 42 text

auto commit SolrαʔόଆͰఆظతʹίϛοτ͢Δػೳ solrconfig.xmlʹͯλΠϛϯάͷࢦఆ͕Մೳ maxDocsɿҰఆ਺υΩϡϝϯτ͕add͞ΕͨΒίϛ οτ࣮ߦ maxTimesɿ௚લͷadd͔ΒҰఆ͕࣌ؒܦաͨ͠Β ίϛοτ࣮ߦ soft/hardͷͦΕͧΕͰఆٛՄೳ http://wiki.apache.org/solr/SolrConfigXml? #Update_Handler_Section 13೥6݄19೔ਫ༵೔

Slide 43

Slide 43 text

࡟আ IDࢦఆɺΫΤϦࢦఆͰͷ࡟আ͕Մೳ 0002166313 0031745983 subject:sport publisher:penguin 13೥6݄19೔ਫ༵೔

Slide 44

Slide 44 text

segment LuceneͷΠϯσοΫε͸ߋ৽ࠩ෼ΛSegmentͱͯ͠௥ Ճʢ௥هܕσʔλϕʔεΈ͍ͨͳײ͡ʣ ௥Ճɺߋ৽σʔλ͸SegmentʹΠϯσοΫεԽ ࡟আʹؔͯ͠͸ɺ࡟আϑϥάʹͯ؅ཧ ఆظతʢαΠζىҼͳͲʣʹMergeॲཧ͕࣮ߦ͞Ε Segment͕݁߹͞ΕΔ ໌ࣔతͳMergeʹoptimizeʢcommit࣌ʹࢦఆՄೳʣ MergeॲཧͷϙϦγʔ͸solrconfig.xmlʹࢦఆ 13೥6݄19೔ਫ༵೔

Slide 45

Slide 45 text

Search 13೥6݄19೔ਫ༵೔

Slide 46

Slide 46 text

ݕࡧػೳ঺հ ϦΫΤετϋϯυϥ୯ҐͰಈ࡞ ʢઃఆ͸solrconfig.xmlʣ SearchComponentͷνΣΠϯͰݕࡧॲཧΛઃఆՄೳ QueryComponentʢݕࡧ࣮ߦʣɺ FacetComponentʢϑΝηοτܭࢉʣɺ HighlightComponentʢ݁ՌϋΠϥΠτʣͳͲ σϑΥϧτ͸/select 13೥6݄19೔ਫ༵೔

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

ݕࡧͷྲྀΕ ݕࡧURLͷྫ http://localhost:8983/solr/collection1/select? q=Apache&start=0&rows=5 13೥6݄19೔ਫ༵೔

Slide 49

Slide 49 text

ΫΤϦ qύϥϝʔλͰࢦఆ ΫΤϦύʔαʹΑΓɺύʔε͞ΕͯΠϯσοΫεΛݕࡧ σϑΥϧτ͸luceneΫΤϦύʔα ྫɿtitle:"The Right Way" AND text:go http://wiki.apache.org/solr/ SolrQuerySyntax 13೥6݄19೔ਫ༵೔

Slide 50

Slide 50 text

ग़ྗܗࣜ wtύϥϝʔλʹΑΓࢦఆՄೳ solrconfig.xmlʹͰઃఆ ҎԼ͸ઃఆͳ͠Ͱར༻Մೳ http://wiki.apache.org/solr/QueryResponseWriter ஋ આ໌ xml xml XMLܗࣜɻσϑΥϧτ json JSONܗࣜ python PythonͷγϦΞϥΠζܗࣜ ruby RubyͷγϦΞϥΠζܗࣜ php PHPͷevalؔ਺ܗࣜ phps PHPͷγϦΞϥΠζܗࣜ csv CSVܗࣜ 13೥6݄19೔ਫ༵೔

Slide 51

Slide 51 text

ͦͷଞݕࡧύϥϝʔλ ओͳύϥϝʔλ ύϥϝʔλ આ໌ σϑΥϧτ start ݁ՌͷελʔτҐஔ 0 rows औಘ݅਺ 10 fl औಘϑΟʔϧυ *,score fq ߜΓࠐΈ৚݅ df σϑΥϧτݕࡧϑΟʔϧυ 13೥6݄19೔ਫ༵೔

Slide 52

Slide 52 text

ϑΝηοτ ݕࡧ݁ՌͷߜΓࠐΈʹΑ͘࢖͏" υϦϧμ΢ϯͱ΋ݺ͹ΕΔ ϑΟʔϧυࢦఆɺΫΤϦࢦఆʹΑΓ ूܭ͕Մೳɻ ྫ http://localhost:8983/solr/collection1/select? q=Apache&fq=&facet=on&facet.field=genre 13೥6݄19೔ਫ༵೔

Slide 53

Slide 53 text

ϋΠϥΠτ Googleݕࡧͷ݁Ռʹग़ͯ͘ΔεχϖοτΛ࡞੒ Solr಺෦Ͱ͸εχϖοτੜ੒ʴڧௐදࣔΛҰॹʹ࣮ߦ ϋΠϥΠτॲཧͷ੍ݶ ର৅ϑΟʔϧυ͸ʮindexed=”true” stored=”true”ʯ ࣮૷ํ͕ࣜ3ͭଘࡏ ʢdefaultɺFastVectorɺPostingsʣ 13೥6݄19೔ਫ༵೔

Slide 54

Slide 54 text

ιʔτ sortύϥϝʔλʹͯࢦఆՄೳ σϑΥϧτιʔτ͸TF-IDFΛϕʔεʹͨ͠είΞ ΧϯϚ۠੾ΓͰෳ਺ࢦఆՄೳ ੍ݶ ର৅ϑΟʔϧυ͸ʮmultiValued=”false”ʯ 13೥6݄19೔ਫ༵೔

Slide 55

Slide 55 text

෼ࢄݕࡧ ෳ਺ͷSolrΛଋͶͯݕࡧՄೳʢΠϯσοΫε͸ࣗ෼Ͱ ෼ࢄͤ͞Δඞཁ͋Γʣ yokozuna͸͜ͷػೳΛར༻ ػೳʹΑͬͯɺ෼ࢄݕࡧʹରԠ͍ͯ͠ͳ͍ػೳ͕͋Δ ෼ࢄݕࡧ͸2ϑΣʔζ͔Βߏ੒ 1. shardݕࡧ 2. ݕࡧ݁Ռ౷߹ 13೥6݄19೔ਫ༵೔

Slide 56

Slide 56 text

෼ࢄݕࡧͷ࢓૊Έ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr Core index index index shard title:Apache 13೥6݄19೔ਫ༵೔

Slide 57

Slide 57 text

෼ࢄݕࡧͷ࢓૊Έ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr Core index index index shard title:Apache title:Apache title:Apache 13೥6݄19೔ਫ༵೔

Slide 58

Slide 58 text

෼ࢄݕࡧͷ࢓૊Έ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr Core index index index shard title:Apache title:Apache title:Apache 13೥6݄19೔ਫ༵೔

Slide 59

Slide 59 text

෼ࢄݕࡧͷ࢓૊Έ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr Core index index index shard idͷϦετ idͷϦετ idͷϦετ 13೥6݄19೔ਫ༵೔

Slide 60

Slide 60 text

෼ࢄݕࡧͷ࢓૊Έ 1. shardݕࡧ Solr Core Solr Core Solr Core Solr Core index index index shard idͷϦετ idͷϦετ idͷϦετ 13೥6݄19೔ਫ༵೔

Slide 61

Slide 61 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard ֤shard͔Β ͷ݁ՌΛείΞ Ͱιʔτ͠ɺඞ ཁͳ෦෼ΛऔΓ ग़͢ 13೥6݄19೔ਫ༵೔

Slide 62

Slide 62 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard ฦ٫σʔλऔಘ ͷͨΊɺ֤ shardʹidͰ໰ ͍߹Θͤ 13೥6݄19೔ਫ༵೔

Slide 63

Slide 63 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard 13೥6݄19೔ਫ༵೔

Slide 64

Slide 64 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard flύϥϝʔλͰࢦఆ͞Εͨ ϑΟʔϧυ৘ใΛฦ٫ 13೥6݄19೔ਫ༵೔

Slide 65

Slide 65 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard 13೥6݄19೔ਫ༵೔

Slide 66

Slide 66 text

෼ࢄݕࡧͷ࢓૊Έ 2. ݁Ռ౷߹ Solr Core Solr Core Solr Core Solr Core index index index shard ݁ՌΛXMLԽͯ͠ Ϩεϙϯεग़ྗ 13೥6݄19೔ਫ༵೔

Slide 67

Slide 67 text

SolrCloud Ϋϥελߏ੒͕ՄೳͳSolr ZookeeperͰߏ੒ɺઃఆΛ؅ཧ ϨϓϦΧ਺ͳͲΛઃఆՄೳ Solr 4ʙ Cloudera Search͸͜Ε͕ϕʔεʁ 13೥6݄19೔ਫ༵೔

Slide 68

Slide 68 text

ͦͷଞͷػೳ MoreLikeThisɿྨࣅυΩϡϝϯτݕࡧ SpatialSearchɿҐஔ৘ใݕࡧ ResultGroupingɿݕࡧ݁Ռάϧʔϐϯά JoinɿDBͷJoinͷΑ͏ͳ΋ͷ SolrCellɿApache TikaΛར༻ͨ͠υΩϡϝϯτղ ੳʢPDFͳͲ͔Βຊจɺϝλσʔλநग़ʣ DataImportHandlerɿઃఆϑΝΠϧΛॻ͘ͱDB΍ϑ ΝΠϧ͔ΒσʔλΛऔಘͯ͠Solrʹొ࿥Ͱ͖Δػೳ 13೥6݄19೔ਫ༵೔

Slide 69

Slide 69 text

ࢀߟ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 13೥6݄19೔ਫ༵೔