Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Solr入門?
Search
Jun Ohtani
June 18, 2013
Technology
700
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Solr入門?
Jun Ohtani
June 18, 2013
More Decks by Jun Ohtani
See All by Jun Ohtani
Elastic Stackでマイクロサービス運用を 楽にするには? / Monitoring Microservices with Elastic Stack
johtani
5
3.1k
様々なメトリクスやログを集めてシステム解析 - Elastic Stackの入門と活用 - / Getting started Elastic Stack for logging/metrics
johtani
4
1.2k
え?SQLで入門?する ElasticsearchとElastic Stack / Getting started Elastic Stack with SQL
johtani
4
1.2k
Elastic Stack 入門 2018.09 / Getting started Elastic Stack 2018.09
johtani
3
3k
What's new in Elastic Stack 6.3
johtani
2
2.6k
Elastic Stackで始めるJavaアプリのパフォーマンス監視 / Intro Elastic Stack and Elastic APM Java
johtani
5
2.7k
様々なメトリクスやログを集めてシステム解析 - Elastic Stackの入門と活用 - / Intro Elastic Stack
johtani
0
200
Intro Elastic Stack at Telemetry WG
johtani
0
320
What's new in Elastic Stack 6.1?
johtani
0
800
Other Decks in Technology
See All in Technology
Reactの設計論
uhyo
13
6.4k
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
0
1.3k
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
270
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
480
omasushiというライブラリを作った
polidog
PRO
0
180
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
130
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
340
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
130
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
180
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
140
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
120
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
820
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Joys of Absence: A Defence of Solitary Play
codingconduct
1
500
Building a Scalable Design System with Sketch
lauravandoore
463
34k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The SEO Collaboration Effect
kristinabergwall1
1
550
Music & Morning Musume
bryan
47
7.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
A Soul's Torment
seathinner
7
3.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
Solrೖ? 2013/06/18 @johtani 136݄19ਫ༵
ࣗݾհ ࢯ໊ɿେ୩ɹ७ Twitterɿ@johtani lucene-gosenͷίϛολʔ چϒϩάɿhttp://johtani.jugem.jp ৽ϒϩάɿhttp://blog.johtani.info ɹ※࠷ۙOctopressͰॻ͍ͯ·͢ 136݄19ਫ༵
ݕࡧΤϯδϯͬͯʁ 136݄19ਫ༵
શจݕࡧͬͯʁ શจݕࡧʢFull text searchʣͱɺίϯϐϡʔλ ʹ͓͍ͯɺෳͷจॻʢϑΝΠϧʣ͔ΒಛఆͷจࣈྻΛ ݕࡧ͢Δ͜ͱɻʮϑΝΠϧ໊ݕࡧʯʮ୯ҰϑΝΠϧ ͷจࣈྻݕࡧʯͱҟͳΓɺʮෳจॻʹ·͕ͨͬͯɺจ ॻʹؚ·ΕΔશจΛରͱͨ͠ݕࡧʯͱ͍͏ҙຯͰ༻ ͞ΕΔɻ ʢWikipediaΑΓʣ
136݄19ਫ༵
༻ޠ จॻʢυΩϡϝϯτʣ ɹݕࡧΤϯδϯʹอଘ͞ΕͨσʔλɻRDBͰͷϨίʔυʹ૬ ΫΤϦ ɹݕࡧ݅ɺݕࡧࣜ εΩʔϚ ɹRDBͷςʔϒϧʹ૬ ϑΟʔϧυ ɹRDBͷΧϥϜʹ૬ λʔϜʢTermʣ/τʔΫϯʢTokenʣ
ɹΠϯσοΫεͷΩʔʹͳΔ୯ޠʢจࣈྻʣ 136݄19ਫ༵
ݕࡧΤϯδϯͷಈ࡞ υΩϡϝϯτొͷྲྀΕ 1 2 ΧπΦαβΤͷఋ αβΤϫΧϝͷ࢞ υΩϡϝϯτͷొ 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ͱܗଶૉղੳ సஔΠϯσοΫεͷΩʔʢ୯ޠʣͷ࡞Γํ ຊޠ୯ޠͷΕ͕Θ͔Βͳ͍ͷͰసஔΠϯσοΫ εͷΩʔओʹͭ͗ͷ2ͭͷख๏Ͱ࡞Δ N-gram Nʢ1Ҏ্ͷࣈʣจࣈͣͭจষΛ۠Δ ܗଶૉղੳ ࣙॻͳͲΛ༻͍ͯҙຯͷ͋Δ୯ޠͰ۠Δ 136݄19ਫ༵
N-gram N͕2ͷ࣌ͷྫɿ ϝϦοτɿ ݕࡧ࿙Ε͕ͳ͍ σϝϦοτɿ ਫ਼͕ѱ͍"ʮΧπʯͰώοτͪ͠Ό͏ ΠϯσοΫε͕ංେԽ ޠװʢ୯ޠͷجຊܗͱ͔ʣͰݕࡧෆՄ ΧπΦαβΤͷఋ Χπ
πΦ Φ α αβ βΤ Τͷ ͷఋ 136݄19ਫ༵
ܗଶૉղੳ ܗଶૉղੳͷྫɿ ϝϦοτɿ ਫ਼͕Α͍ɿʮΧπʯͰݕࡧ"ʮΧπΦʯώοτ͠ͳ͍ ޠװʹΑΔݕࡧ͕ՄೳɿʮҿΈʯ"ʮҿΉʯ͕ݕࡧՄ σϝϦοτɿ ৽ޠʢະޠʣʹऑ͍"ࣙॻϕʔεͷ߹ʹࣙॻʹͳ͍ ୯ޠ͕Θ͔Βͳ͍ɻࣙॻߋ৽ޙΠϯσοΫε࠶࡞ ΧπΦαβΤͷఋ ΧπΦ
ͷ αβΤ ఋ 136݄19ਫ༵
Lucene/Solrͬͯʁ 136݄19ਫ༵
LuceneͱSolrͷؔ LuceneɿશจݕࡧϥΠϒϥϦ ɹʢసஔΠϯσοΫεϥΠϒϥϦʣ http://lucene.apahce.org/core/ SolrɿLuceneΛར༻ͨ͠શจݕࡧαʔό ɹྨࣅͷͷͱͯ͠ElasticSearchͳͲ http://lucene.apache.org/solr/ 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ͷߏύλʔϯ EmbeddedSolrɿJVMͰSolrΛىಈ WebΞϓϦʢ୯ҰʣɿJ2EEαʔό্ͰSolrΛىಈ Solrexampleͱͯ͠JettyΛแ ࢄݕࡧɿෳͷSolrΛ̍ͭͷΠϯσοΫεͱͯ͠ݕ ࡧɻʢݕࡧػೳͷΈɻΠϯσοΫεʣ http://wiki.apache.org/solr/DistributedSearch SolrCloudɿෳͷJ2EEαʔόͰΫϥελΛߏ http://wiki.apache.org/solr/SolrCloud 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ਫ༵
ߏ֓ཁ Analysis υΩϡϝϯτɺΫΤϦΛTokenʹղ͢Δॲཧ ࠷ऴతͳToken͕సஔΠϯσοΫεͷΩʔ 136݄19ਫ༵
AnalysisͷྲྀΕ http://www.lucenerevolution.org/sites/ default/files/Language%20support%20and %20linguistics%20in%20LuceneSolr %20%26%20its%20eco-system.pdf 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ਫ༵
CharFilter TokenizerΑΓલͷจࣈྻʹରͯ͠ॲཧ Tokenize͞ΕΔલͷਖ਼نԽॲཧʹར༻ ྫɿʮűƄŖſʯ"ʮϏʔϧʯ ྫɿʮ̍ʯ"ʮ1ʯ http://wiki.apache.org/solr/ AnalyzersTokenizersTokenFilters#Char_Filters 136݄19ਫ༵
Tokenizer/TokenFilter ͍ͬͺ͍͋Γ·͢ɻಠ࣮ࣗՄೳ http://wiki.apache.org/solr/ AnalyzersTokenizersTokenFilters 136݄19ਫ༵
ઃఆϑΝΠϧ ओͳઃఆϑΝΠϧ solrconfig.xmlɿαʔόʹؔ͢ΔઃఆΛهࡌ ΩϟογϡઃఆɺόοϑΝαΠζͳͲ schema.xmlɿΠϯσοΫεͷߏʹؔ͢ΔఆٛΛ هࡌ ϑΟʔϧυఆٛɺϑΟʔϧυλΠϓఆٛͳͲ ͜ΕΒͷઃఆΛมߋͨ͠߹SoreCoreͷ࠶ىಈ͕ඞ ཁʢSolrαʔόͰͳ͍ʣ 136݄19ਫ༵
schema.xml ΠϯσοΫεͷߏΛXMLʹͯఆٛ ϑΟʔϧυఆٛʢ<fields>λάʣ ݕࡧʹར༻͢ΔϑΟʔϧυ໊ͷઃఆ ϑΟʔϧυܕʢ<types>λάʣ ϑΟʔϧυܕʢstringɺlongͳͲʣΛఆٛ ίϐʔϑΟʔϧυʢ<copyField>λάʣ Solr෦ͰϑΟʔϧυͷΛίϐʔ͢Δఆٛ 136݄19ਫ༵
FieldType ϑΟʔϧυܕେ͖͘2छྨ ඇςΩετܥ TokenizeॲཧΛߦΘͳ͍ ςΩετܥ TokenizeॲཧΛߦ͏ 136݄19ਫ༵
FieldTypeɿඇςΩετܥ ྫɿจࣈྻܕ <fieldType name="string" class="solr.StrField"/> nameɿϑΟʔϧυܕ໊ɻFieldఆٛ࣌ʹར༻ classɿSolr͕ఏڙ͍ͯ͠ΔΫϥε ※ಠࣗʹ࣮ɺఆٛ͢Δ͜ͱ΄΅ͳ͍ 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ਫ༵
ϑΟʔϧυΦϓγϣϯͱϢʔεέʔε http://wiki.apache.org/solr/FieldOptionsByUseCase 136݄19ਫ༵
μΠφϛοΫϑΟʔϧυ ϑΟʔϧυ໊Λొ࣌ʹࢦఆͰ͖ΔΈ schema.xmlΛมߋ͠ͳ͍ͰϑΟʔϧυΛՃՄೳ ϑΟʔϧυ໊͔ΒϑΟʔϧυܕΛղܾ ྫɿʮ_dtʯͰऴΘΔ໊લͷ࣌ܕͱͯ͢͠Δ <dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
136݄19ਫ༵
Indexing 136݄19ਫ༵
ొɺߋ৽ํ๏ REST API HTTPܦ༝Ͱొɺߋ৽Մೳ XMLɺJSONɺCSVܗࣜͰొՄೳ ίϚϯυπʔϧʢpost.jarɺpost.shʣ XMLܗࣜͷϑΝΠϧΛొɺߋ৽Մೳ ෦ͰHTTPܦ༝ͰSolrʹΞΫηε 136݄19ਫ༵
࣮ࡍͷొͷྲྀΕ add Solrʹσʔλ͕ૹΒΕɺసஔΠϯσοΫε࡞ σʔλͷमਖ਼addʢ෦Ͱdelete-insertʣ commitʢhard commitʣ addͨ͠σʔλΛݕࡧՄೳʹ ҰԠrollback͋Δ ※ηογϣϯͷ֓೦͕ͳ͍ͨΊɺ୭͕add͔ͨ͠ผ ͍ͯ͠ͳ͍ɻͦͷͨΊෳͷΫϥΠΞϯτ͔Βaddͯ͠
ͩΕ͔͕commitͨ͠Βɺ͕ͯ͢ݕࡧՄೳʹͳΔ 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ਫ༵
soft commit ϝϞϦ্ͷΠϯσοΫεͷίϛοτ ଈ࣌ݕࡧରͱ͢Δ͜ͱ͕Ͱ͖ΔʢҰ෦੍ݶ͋Γʣ ϑΝΠϧͷύʔγετ࣮ࢪ͠ͳ͍ http://wiki.apache.org/solr/UpdateXmlMessages#A. 22commit.22_and_.22optimize.22 136݄19ਫ༵
auto commit SolrαʔόଆͰఆظతʹίϛοτ͢Δػೳ solrconfig.xmlʹͯλΠϛϯάͷࢦఆ͕Մೳ maxDocsɿҰఆυΩϡϝϯτ͕add͞ΕͨΒίϛ οτ࣮ߦ maxTimesɿલͷadd͔ΒҰఆ͕࣌ؒܦաͨ͠Β ίϛοτ࣮ߦ soft/hardͷͦΕͧΕͰఆٛՄೳ http://wiki.apache.org/solr/SolrConfigXml?
#Update_Handler_Section 136݄19ਫ༵
আ IDࢦఆɺΫΤϦࢦఆͰͷআ͕Մೳ <delete> <id>0002166313</id> <id>0031745983</id> <query>subject:sport</query> <query>publisher:penguin</query> </delete> 136݄19ਫ༵
segment LuceneͷΠϯσοΫεߋ৽ࠩΛSegmentͱͯ͠ ՃʢهܕσʔλϕʔεΈ͍ͨͳײ͡ʣ Ճɺߋ৽σʔλSegmentʹΠϯσοΫεԽ আʹؔͯ͠ɺআϑϥάʹͯཧ ఆظతʢαΠζىҼͳͲʣʹMergeॲཧ͕࣮ߦ͞Ε Segment͕݁߹͞ΕΔ ໌ࣔతͳMergeʹoptimizeʢcommit࣌ʹࢦఆՄೳʣ MergeॲཧͷϙϦγʔsolrconfig.xmlʹࢦఆ 136݄19ਫ༵
Search 136݄19ਫ༵
ݕࡧػೳհ ϦΫΤετϋϯυϥ୯ҐͰಈ࡞ ʢઃఆsolrconfig.xmlʣ SearchComponentͷνΣΠϯͰݕࡧॲཧΛઃఆՄೳ QueryComponentʢݕࡧ࣮ߦʣɺ FacetComponentʢϑΝηοτܭࢉʣɺ HighlightComponentʢ݁ՌϋΠϥΠτʣͳͲ σϑΥϧτ/select 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ਫ༵
ݕࡧͷྲྀΕ ݕࡧURLͷྫ http://localhost:8983/solr/collection1/select? q=Apache&start=0&rows=5 136݄19ਫ༵
ΫΤϦ qύϥϝʔλͰࢦఆ ΫΤϦύʔαʹΑΓɺύʔε͞ΕͯΠϯσοΫεΛݕࡧ σϑΥϧτluceneΫΤϦύʔα ྫɿtitle:"The Right Way" AND text:go http://wiki.apache.org/solr/
SolrQuerySyntax 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ਫ༵
ϑΝηοτ ݕࡧ݁ՌͷߜΓࠐΈʹΑ͘͏" υϦϧμϯͱݺΕΔ ϑΟʔϧυࢦఆɺΫΤϦࢦఆʹΑΓ ूܭ͕Մೳɻ ྫ http://localhost:8983/solr/collection1/select? q=Apache&fq=&facet=on&facet.field=genre 136݄19ਫ༵
ϋΠϥΠτ Googleݕࡧͷ݁Ռʹग़ͯ͘ΔεχϖοτΛ࡞ Solr෦ͰεχϖοτੜʴڧௐදࣔΛҰॹʹ࣮ߦ ϋΠϥΠτॲཧͷ੍ݶ ରϑΟʔϧυʮindexed=”true” stored=”true”ʯ ࣮ํ͕ࣜ3ͭଘࡏ ʢdefaultɺFastVectorɺPostingsʣ 136݄19ਫ༵
ιʔτ sortύϥϝʔλʹͯࢦఆՄೳ σϑΥϧτιʔτTF-IDFΛϕʔεʹͨ͠είΞ ΧϯϚ۠ΓͰෳࢦఆՄೳ ੍ݶ ରϑΟʔϧυʮmultiValued=”false”ʯ 136݄19ਫ༵
ࢄݕࡧ ෳͷSolrΛଋͶͯݕࡧՄೳʢΠϯσοΫεࣗͰ ࢄͤ͞Δඞཁ͋Γʣ yokozuna͜ͷػೳΛར༻ ػೳʹΑͬͯɺࢄݕࡧʹରԠ͍ͯ͠ͳ͍ػೳ͕͋Δ ࢄݕࡧ2ϑΣʔζ͔Βߏ 1. shardݕࡧ 2. ݕࡧ݁Ռ౷߹
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ਫ༵
SolrCloud Ϋϥελߏ͕ՄೳͳSolr ZookeeperͰߏɺઃఆΛཧ ϨϓϦΧͳͲΛઃఆՄೳ Solr 4ʙ Cloudera Search͜Ε͕ϕʔεʁ 136݄19ਫ༵
ͦͷଞͷػೳ MoreLikeThisɿྨࣅυΩϡϝϯτݕࡧ SpatialSearchɿҐஔใݕࡧ ResultGroupingɿݕࡧ݁Ռάϧʔϐϯά JoinɿDBͷJoinͷΑ͏ͳͷ SolrCellɿApache TikaΛར༻ͨ͠υΩϡϝϯτղ ੳʢPDFͳͲ͔Βຊจɺϝλσʔλநग़ʣ DataImportHandlerɿઃఆϑΝΠϧΛॻ͘ͱDBϑ ΝΠϧ͔ΒσʔλΛऔಘͯ͠SolrʹొͰ͖Δػೳ
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ਫ༵