SlideShare a Scribd company logo
1 of 27
Download to read offline
2
02
The magic of creation
Any sufficiently advanced technology is indistinguishable from magic
—Arthur C. Clarke
bin/solr start -e techproducts
Pure magic
1.  Start the server
2.  Setup the collection
3.  Populate with documents
4.  Commit
5.  Profit!
3
03
The price of magic
bin/solr start … ???
1.  What port is the server running on?
2.  What is the collection name?
3.  Is it static or dynamic schema? Or schemaless?
4.  Which directory is schema configuration in? Data?
5.  What documents have we populated already?
6.  Is everything committed?
7.  WHY DOES MY QUERY NOT WORK !!! L
4
03
Troubleshooting process
1.  Troubleshooting is not a linear process
2.  It is not taught often or well
3.  Book is coming soon(-ish….)
4.  Based on my experience as:
Solr-based project developer and popularizer
Senior (Weblogic) tech-support for 3 years
5.  Hard to explain the book in 40 minutes
6.  TreeMap is a – slightly - faster mental model
7.  Adaptation of the Root Cause Analysis
8.  Top-level concepts described in The New Rational
Manager by the Kepner and Tregoe (1997)
5
03
Troubleshooting TreeMap
1.  Establish the boundaries
2.  Split the problem
3.  Identify the relevant part
4.  Zoom in
5.  Re-formulate the boundaries
6.  Repeat 2-5 until fixed
6
03
Establishing the boundaries – Root Cause Analysis
Identity
Location
Timing
Magnitude
7
03
Boundaries - Identity
Identity – action we want to accomplish/problem to solve
Initial (black-box) identity – 
echoParams is duplicated with example config, sometimes
Zoomed-in – 
Any query parameter that is also in request handler's defaults is duplicated
See SOLR-6780 for full story, a.k.a an evil freaking bug
Gets easier with practice
8
03
Boundaries - Location
Problem: Solr cannot find customer records
Could be indexing
•  Record was never sent to Solr
•  Wrong handler
•  Invalid schema definition
•  Incorrect URP pipeline
•  ...
Could be searching
•  Query too restrictive
•  Query too permissive
•  Searching wrong fields
•  Searching against catch-all field
•  ...
Cloud adds many more locations
Location – Place (component) where the problem happens
9
03
Boundaries - Timing
Timing – when/how often the problem shows itself
Reproducibility
1.  Always – ideal, reproducible with debugger on, logs on/off
2.  Seemingly intermittent (a.k.a sometimes) – useless
3.  On trigger X (e.g. on commit) – nearly as good as always
Onset
1.  Did the system work at time point X – not at time point Y =
What did you change in meanwhile?
2.  Problem exists != Problem noticed, may have been shadowed
10
03
Boundaries - Magnitude
Magnitude – WHAT is the extent of the problem
•  Latest Solr or a single (or range) of old versions?
•  Standard example configuration or only with custom schema?
•  A single node or a whole cluster?
•  The more standard/recent config is = the easier it is to troubleshoot
11
03
Boundaries – through negation and comparison
“I choose a block of marble and chop off whatever I don’t need”
— (sculptor) Auguste Rodin
Clarify the problem by saying what it is NOT as well
1.  Example: This affects Solr 5.1, BUT not Solr 5.2
2.  The BUT part requires testing and may prove to be untrue
3.  Thinking of negative condition simplifies/purifies test case
4.  Also gives a parallel use-case that works – great for debugging
12
03
Practical boundaries – what does the start script do?
bin/solr start … ???
1.  Do not try to read the script – look at the ground truth
2.  In Admin UI
Dashboard - Versions - solr-spec (version)
Dashboard - JVM - Args (command line params, abbrev.)
Collection - Overview - Instance (all the directories)
3.  On command line (Unix, Mac, and like):
ps -aef |grep java
/usr/bin/java -server -Xss256k -Xms512m -Xmx512m -XX:NewRatio=3 -XX:SurvivorRatio=4 -XX:
TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:+UsePa
rNewGC -XX:ParallelGCThreads=4 -XX:+CMSScavengeBeforeRemark -XX:PretenureSizeThreshol
d=64m -XX:CMSInitiatingOccupancyFraction=50 -XX:CMSMaxAbortablePrecleanTime=6000 -XX:+
CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -verbose:gc -XX:+PrintTenuringDistributi
on -XX:+PrintGCApplicationStoppedTime -Xloggc:/Users/arafalov/SearchEngines/solr-5.3.1/example
/techproducts/solr//../logs/solr_gc.log …
4.  On Windows: use Microsoft/Sysinternals ProcessExplorer
5.  Example: SOLR-8073
13
03
TreeMap – black box
Indexing Searching
14
03
TreeMap – black box
Indexing
15
03
TreeMap – indexing - details
1.  Choose Request Handler (.e.g /update)
UpdateRequestHandler
ExtractingRequestHandler – Tika
2.  Calculate all parameters
URL explicit
Handler params (defaults, appends, invariants)
Global defaults (initParams)
Shared param blocks (useParams)
Hardcoded
REST-driven overrides
3.  Execute Request Handler
Generates standard Solr document
4.  UpdateRequestProcessors (URPs) 
Explicit chain
Parameter-supplied chain
Built-in chain

URPs is where work actually happens
5.  Mapping to schema fields
Explicit field
Dynamic fields
CopyFields
6.  Commit
Manual
Delayed (commitWithin)
Soft
Hard
16
03
Boundaries – example - discovering parameters
INFO - [ x:techproducts] ...LogUpdateProcessor; [techproducts] webapp=/solr path=/update params={} {add=[3007WFP (1515103857103863808)]}
DEBUG - [ x:techproducts] ...LogUpdateProcessor; PRE_UPDATE add{,id=3007WFP} {{params(df=text),defaults(wt=xml)}}
solr.log
http://localhost:8983/solr/techproducts/config/
secret API to get current config
17
03
Boundaries – example - schemaless magic
1.  updateRequestProcessorChain name=add-unknown-fields-to-the-schema
2.  processor class=solr.UUIDUpdateProcessorFactory /
3.  processor class=solr.LogUpdateProcessorFactory/
4.  processor class=solr.DistributedUpdateProcessorFactory/
5.  processor class=solr.RemoveBlankFieldUpdateProcessorFactory/
6.  processor class=solr.FieldNameMutatingUpdateProcessorFactory
7.  str name=pattern[^w-.]/str
8.  str name=replacement_/str
9.  /processor
10.  processor class=solr.ParseBooleanFieldUpdateProcessorFactory/
11.  processor class=solr.ParseDateFieldUpdateProcessorFactory
12.  arr name=format
13.  stryyyy-MM-dd'T'HH:mm:ss.SSSZ/str
14.  stryyyy-MM-dd/str
15.  /arr
16.  /processor
17.  processor class=solr.AddSchemaFieldsUpdateProcessorFactory
18.  str name=defaultFieldTypestrings/str
19.  lst name=typeMapping
20.  str name=valueClassjava.lang.Boolean/str
21.  str name=fieldTypebooleans/str
22.  /lst
23.  lst name=typeMapping
24.  str name=valueClassjava.util.Date/str
25.  str name=fieldTypetdates/str
26.  /lst
27.  /processor
28.  processor class=solr.RunUpdateProcessorFactory/
29.  /updateRequestProcessorChain
18
03
TreeMap – black box
Searching
19
03
TreeMap – searching - details
1.  Choose Request Handler (SearchHandler)
/query
/export
/browse
2.  Calculate all parameters
URL explicit
Handler params (defaults, appends, invariants)
Global defaults (initParams)
Shared param blocks (useParams)
Hardcoded
REST-driven overrides
3.  Search Components
arr name=components
strquery/str
strfacet/str
strmlt/str
strhighlight/str
strstats/str
strdebug/str
/arr
4.  Query Parsers
standard
dismax
edismax
switch
block join
surround
…. (20 parsers)
5.  Response writers
xml
json
python
ruby
php
velocity
csv
schema.xml
xsort
20
03
TreeMap – searching - example
21
03
TreeMap – searching - example
http://localhost:8983/solr/techproducts/browse?
q=THIS+is+a+TEST
wt=xml
echoParams=all
debugQuery=true
str name=parsedquery_toString
+(((features:this | keywords:this^5.0 | author:this^2.0 | cat:THIS^1.4 | name:this^1.2 | 
manu:this^1.1 | description:this^5.0 | text:this^0.5 | id:THIS^10.0 | resourcename:this |
title:this^10.0) (features:is | keywords:is^5.0 | author:is^2.0 | cat:is^1.4 | name:is^1.2 | 
manu:is^1.1 | description:is^5.0 | text:is^0.5 | id:is^10.0 | resourcename:is | title:is^10.0)
(features:a | keywords:a^5.0 | author:a^2.0 | cat:a^1.4 | name:a^1.2 | manu:a^1.1 | description:a^5.0 | 
text:a^0.5 | id:a^10.0 | resourcename:a | title:a^10.0) (features:test | keywords:test^5.0 | author:test^2.0 |
cat:TEST^1.4 | name:test^1.2 | manu:test^1.1 | description:test^5.0 | text:test^0.5 | id:TEST^10.0 |
resourcename:test | sku:test^1.5 | title:test^10.0))~4)
/str
22
03
TreeMap – searching - tools
23
03
TreeMap – searching - tools
24
03
TreeMap – Troubleshooting Solr cloud
1.  Good luck with exponential complexity increase.
2.  Try to reproduce in a standalone instance!
3.  Tools exist, but they are themselves complex (e.g. Jepsen)
4.  But the TreeMap process is the same overall
Cloud adds many more locations
25
03
Troubleshooting – closing notes and review
1.  Troubleshooting is both art (intuition) and science
2.  The more you apply the science, the better you become at the art
3.  Remember the overall process
Establish the boundaries
Split the problem
Identify the relevant part
Zoom in
Re-formulate the boundaries
Repeat until fixed/problem identified
4.  Remember the boundaries
Identity
Location
Timing
Magnitude
26
03
Troubleshooting – next step
1.  My resources and mailing list: http://www.solr-start.com/
2.  Solr-users mailing list and archives
Identify your boundary in the email
3.  Books, current and upcoming
4.  Google/Bing/DDG – use good keywords
5.  Share what you learned
Solr Troubleshooting - TreeMap approach

More Related Content

What's hot

Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with SolrErik Hatcher
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes WorkshopErik Hatcher
 
From content to search: speed-dating Apache Solr (ApacheCON 2018)
From content to search: speed-dating Apache Solr (ApacheCON 2018)From content to search: speed-dating Apache Solr (ApacheCON 2018)
From content to search: speed-dating Apache Solr (ApacheCON 2018)Alexandre Rafalovitch
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered LuceneErik Hatcher
 
What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0Erik Hatcher
 
Get the most out of Solr search with PHP
Get the most out of Solr search with PHPGet the most out of Solr search with PHP
Get the most out of Solr search with PHPPaul Borgermans
 
An Introduction to Basics of Search and Relevancy with Apache Solr
An Introduction to Basics of Search and Relevancy with Apache SolrAn Introduction to Basics of Search and Relevancy with Apache Solr
An Introduction to Basics of Search and Relevancy with Apache SolrLucidworks (Archived)
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Lucidworks
 
Enterprise Search Solution: Apache SOLR. What's available and why it's so cool
Enterprise Search Solution: Apache SOLR. What's available and why it's so coolEnterprise Search Solution: Apache SOLR. What's available and why it's so cool
Enterprise Search Solution: Apache SOLR. What's available and why it's so coolEcommerce Solution Provider SysIQ
 
Solr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksSolr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksErik Hatcher
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development TutorialErik Hatcher
 
20130310 solr tuorial
20130310 solr tuorial20130310 solr tuorial
20130310 solr tuorialChris Huang
 
Apache Solr crash course
Apache Solr crash courseApache Solr crash course
Apache Solr crash courseTommaso Teofili
 
Schemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APISchemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APIlucenerevolution
 
Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Erik Hatcher
 
Solr Query Parsing
Solr Query ParsingSolr Query Parsing
Solr Query ParsingErik Hatcher
 
Mastering solr
Mastering solrMastering solr
Mastering solrjurcello
 
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
code4lib 2011 preconference: What's New in Solr (since 1.4.1)code4lib 2011 preconference: What's New in Solr (since 1.4.1)
code4lib 2011 preconference: What's New in Solr (since 1.4.1)Erik Hatcher
 
Integrating the Solr search engine
Integrating the Solr search engineIntegrating the Solr search engine
Integrating the Solr search engineth0masr
 

What's hot (20)

Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes Workshop
 
JSON in Solr: from top to bottom
JSON in Solr: from top to bottomJSON in Solr: from top to bottom
JSON in Solr: from top to bottom
 
From content to search: speed-dating Apache Solr (ApacheCON 2018)
From content to search: speed-dating Apache Solr (ApacheCON 2018)From content to search: speed-dating Apache Solr (ApacheCON 2018)
From content to search: speed-dating Apache Solr (ApacheCON 2018)
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered Lucene
 
What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0
 
Get the most out of Solr search with PHP
Get the most out of Solr search with PHPGet the most out of Solr search with PHP
Get the most out of Solr search with PHP
 
An Introduction to Basics of Search and Relevancy with Apache Solr
An Introduction to Basics of Search and Relevancy with Apache SolrAn Introduction to Basics of Search and Relevancy with Apache Solr
An Introduction to Basics of Search and Relevancy with Apache Solr
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
 
Enterprise Search Solution: Apache SOLR. What's available and why it's so cool
Enterprise Search Solution: Apache SOLR. What's available and why it's so coolEnterprise Search Solution: Apache SOLR. What's available and why it's so cool
Enterprise Search Solution: Apache SOLR. What's available and why it's so cool
 
Solr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksSolr Indexing and Analysis Tricks
Solr Indexing and Analysis Tricks
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development Tutorial
 
20130310 solr tuorial
20130310 solr tuorial20130310 solr tuorial
20130310 solr tuorial
 
Apache Solr crash course
Apache Solr crash courseApache Solr crash course
Apache Solr crash course
 
Schemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APISchemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST API
 
Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)
 
Solr Query Parsing
Solr Query ParsingSolr Query Parsing
Solr Query Parsing
 
Mastering solr
Mastering solrMastering solr
Mastering solr
 
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
code4lib 2011 preconference: What's New in Solr (since 1.4.1)code4lib 2011 preconference: What's New in Solr (since 1.4.1)
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
 
Integrating the Solr search engine
Integrating the Solr search engineIntegrating the Solr search engine
Integrating the Solr search engine
 

Similar to Solr Troubleshooting - TreeMap approach

JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...srisatish ambati
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scalethelabdude
 
Container Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixContainer Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixDocker, Inc.
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance AnalysisBrendan Gregg
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profilerIhor Bobak
 
Java Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsJava Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsBrendan Gregg
 
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsD Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsMySQLConference
 
Finding an unusual cause of max_user_connections in MySQL
Finding an unusual cause of max_user_connections in MySQLFinding an unusual cause of max_user_connections in MySQL
Finding an unusual cause of max_user_connections in MySQLOlivier Doucet
 
Spark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteSriram Natarajan
 
OSCON2012TroubleShootJava
OSCON2012TroubleShootJavaOSCON2012TroubleShootJava
OSCON2012TroubleShootJavaWilliam Au
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACKristofferson A
 
FreeBSD 2014 Flame Graphs
FreeBSD 2014 Flame GraphsFreeBSD 2014 Flame Graphs
FreeBSD 2014 Flame GraphsBrendan Gregg
 
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...Lucidworks
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Altinity Ltd
 

Similar to Solr Troubleshooting - TreeMap approach (20)

JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
 
Heap & thread dump
Heap & thread dumpHeap & thread dump
Heap & thread dump
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
 
Container Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixContainer Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, Netflix
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 
Storm - SpaaS
Storm - SpaaSStorm - SpaaS
Storm - SpaaS
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
 
Alfresco tuning part2
Alfresco tuning part2Alfresco tuning part2
Alfresco tuning part2
 
Java Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsJava Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame Graphs
 
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsD Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
 
Finding an unusual cause of max_user_connections in MySQL
Finding an unusual cause of max_user_connections in MySQLFinding an unusual cause of max_user_connections in MySQL
Finding an unusual cause of max_user_connections in MySQL
 
Spark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan Pu
 
jvm goes to big data
jvm goes to big datajvm goes to big data
jvm goes to big data
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web site
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
OSCON2012TroubleShootJava
OSCON2012TroubleShootJavaOSCON2012TroubleShootJava
OSCON2012TroubleShootJava
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
 
FreeBSD 2014 Flame Graphs
FreeBSD 2014 Flame GraphsFreeBSD 2014 Flame Graphs
FreeBSD 2014 Flame Graphs
 
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
 

Recently uploaded

Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...tanu pandey
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...nilamkumrai
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...SUHANI PANDEY
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...nilamkumrai
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...SUHANI PANDEY
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...nirzagarg
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 

Recently uploaded (20)

Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 

Solr Troubleshooting - TreeMap approach

  • 1.
  • 2. 2 02 The magic of creation Any sufficiently advanced technology is indistinguishable from magic —Arthur C. Clarke bin/solr start -e techproducts Pure magic 1.  Start the server 2.  Setup the collection 3.  Populate with documents 4.  Commit 5.  Profit!
  • 3. 3 03 The price of magic bin/solr start … ??? 1.  What port is the server running on? 2.  What is the collection name? 3.  Is it static or dynamic schema? Or schemaless? 4.  Which directory is schema configuration in? Data? 5.  What documents have we populated already? 6.  Is everything committed? 7.  WHY DOES MY QUERY NOT WORK !!! L
  • 4. 4 03 Troubleshooting process 1.  Troubleshooting is not a linear process 2.  It is not taught often or well 3.  Book is coming soon(-ish….) 4.  Based on my experience as: Solr-based project developer and popularizer Senior (Weblogic) tech-support for 3 years 5.  Hard to explain the book in 40 minutes 6.  TreeMap is a – slightly - faster mental model 7.  Adaptation of the Root Cause Analysis 8.  Top-level concepts described in The New Rational Manager by the Kepner and Tregoe (1997)
  • 5. 5 03 Troubleshooting TreeMap 1.  Establish the boundaries 2.  Split the problem 3.  Identify the relevant part 4.  Zoom in 5.  Re-formulate the boundaries 6.  Repeat 2-5 until fixed
  • 6. 6 03 Establishing the boundaries – Root Cause Analysis Identity Location Timing Magnitude
  • 7. 7 03 Boundaries - Identity Identity – action we want to accomplish/problem to solve Initial (black-box) identity – echoParams is duplicated with example config, sometimes Zoomed-in – Any query parameter that is also in request handler's defaults is duplicated See SOLR-6780 for full story, a.k.a an evil freaking bug Gets easier with practice
  • 8. 8 03 Boundaries - Location Problem: Solr cannot find customer records Could be indexing •  Record was never sent to Solr •  Wrong handler •  Invalid schema definition •  Incorrect URP pipeline •  ... Could be searching •  Query too restrictive •  Query too permissive •  Searching wrong fields •  Searching against catch-all field •  ... Cloud adds many more locations Location – Place (component) where the problem happens
  • 9. 9 03 Boundaries - Timing Timing – when/how often the problem shows itself Reproducibility 1.  Always – ideal, reproducible with debugger on, logs on/off 2.  Seemingly intermittent (a.k.a sometimes) – useless 3.  On trigger X (e.g. on commit) – nearly as good as always Onset 1.  Did the system work at time point X – not at time point Y = What did you change in meanwhile? 2.  Problem exists != Problem noticed, may have been shadowed
  • 10. 10 03 Boundaries - Magnitude Magnitude – WHAT is the extent of the problem •  Latest Solr or a single (or range) of old versions? •  Standard example configuration or only with custom schema? •  A single node or a whole cluster? •  The more standard/recent config is = the easier it is to troubleshoot
  • 11. 11 03 Boundaries – through negation and comparison “I choose a block of marble and chop off whatever I don’t need” — (sculptor) Auguste Rodin Clarify the problem by saying what it is NOT as well 1.  Example: This affects Solr 5.1, BUT not Solr 5.2 2.  The BUT part requires testing and may prove to be untrue 3.  Thinking of negative condition simplifies/purifies test case 4.  Also gives a parallel use-case that works – great for debugging
  • 12. 12 03 Practical boundaries – what does the start script do? bin/solr start … ??? 1.  Do not try to read the script – look at the ground truth 2.  In Admin UI Dashboard - Versions - solr-spec (version) Dashboard - JVM - Args (command line params, abbrev.) Collection - Overview - Instance (all the directories) 3.  On command line (Unix, Mac, and like): ps -aef |grep java /usr/bin/java -server -Xss256k -Xms512m -Xmx512m -XX:NewRatio=3 -XX:SurvivorRatio=4 -XX: TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:+UsePa rNewGC -XX:ParallelGCThreads=4 -XX:+CMSScavengeBeforeRemark -XX:PretenureSizeThreshol d=64m -XX:CMSInitiatingOccupancyFraction=50 -XX:CMSMaxAbortablePrecleanTime=6000 -XX:+ CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -verbose:gc -XX:+PrintTenuringDistributi on -XX:+PrintGCApplicationStoppedTime -Xloggc:/Users/arafalov/SearchEngines/solr-5.3.1/example /techproducts/solr//../logs/solr_gc.log … 4.  On Windows: use Microsoft/Sysinternals ProcessExplorer 5.  Example: SOLR-8073
  • 13. 13 03 TreeMap – black box Indexing Searching
  • 14. 14 03 TreeMap – black box Indexing
  • 15. 15 03 TreeMap – indexing - details 1.  Choose Request Handler (.e.g /update) UpdateRequestHandler ExtractingRequestHandler – Tika 2.  Calculate all parameters URL explicit Handler params (defaults, appends, invariants) Global defaults (initParams) Shared param blocks (useParams) Hardcoded REST-driven overrides 3.  Execute Request Handler Generates standard Solr document 4.  UpdateRequestProcessors (URPs) Explicit chain Parameter-supplied chain Built-in chain URPs is where work actually happens 5.  Mapping to schema fields Explicit field Dynamic fields CopyFields 6.  Commit Manual Delayed (commitWithin) Soft Hard
  • 16. 16 03 Boundaries – example - discovering parameters INFO - [ x:techproducts] ...LogUpdateProcessor; [techproducts] webapp=/solr path=/update params={} {add=[3007WFP (1515103857103863808)]} DEBUG - [ x:techproducts] ...LogUpdateProcessor; PRE_UPDATE add{,id=3007WFP} {{params(df=text),defaults(wt=xml)}} solr.log http://localhost:8983/solr/techproducts/config/ secret API to get current config
  • 17. 17 03 Boundaries – example - schemaless magic 1.  updateRequestProcessorChain name=add-unknown-fields-to-the-schema 2.  processor class=solr.UUIDUpdateProcessorFactory / 3.  processor class=solr.LogUpdateProcessorFactory/ 4.  processor class=solr.DistributedUpdateProcessorFactory/ 5.  processor class=solr.RemoveBlankFieldUpdateProcessorFactory/ 6.  processor class=solr.FieldNameMutatingUpdateProcessorFactory 7.  str name=pattern[^w-.]/str 8.  str name=replacement_/str 9.  /processor 10.  processor class=solr.ParseBooleanFieldUpdateProcessorFactory/ 11.  processor class=solr.ParseDateFieldUpdateProcessorFactory 12.  arr name=format 13.  stryyyy-MM-dd'T'HH:mm:ss.SSSZ/str 14.  stryyyy-MM-dd/str 15.  /arr 16.  /processor 17.  processor class=solr.AddSchemaFieldsUpdateProcessorFactory 18.  str name=defaultFieldTypestrings/str 19.  lst name=typeMapping 20.  str name=valueClassjava.lang.Boolean/str 21.  str name=fieldTypebooleans/str 22.  /lst 23.  lst name=typeMapping 24.  str name=valueClassjava.util.Date/str 25.  str name=fieldTypetdates/str 26.  /lst 27.  /processor 28.  processor class=solr.RunUpdateProcessorFactory/ 29.  /updateRequestProcessorChain
  • 18. 18 03 TreeMap – black box Searching
  • 19. 19 03 TreeMap – searching - details 1.  Choose Request Handler (SearchHandler) /query /export /browse 2.  Calculate all parameters URL explicit Handler params (defaults, appends, invariants) Global defaults (initParams) Shared param blocks (useParams) Hardcoded REST-driven overrides 3.  Search Components arr name=components strquery/str strfacet/str strmlt/str strhighlight/str strstats/str strdebug/str /arr 4.  Query Parsers standard dismax edismax switch block join surround …. (20 parsers) 5.  Response writers xml json python ruby php velocity csv schema.xml xsort
  • 21. 21 03 TreeMap – searching - example http://localhost:8983/solr/techproducts/browse? q=THIS+is+a+TEST wt=xml echoParams=all debugQuery=true str name=parsedquery_toString +(((features:this | keywords:this^5.0 | author:this^2.0 | cat:THIS^1.4 | name:this^1.2 | manu:this^1.1 | description:this^5.0 | text:this^0.5 | id:THIS^10.0 | resourcename:this | title:this^10.0) (features:is | keywords:is^5.0 | author:is^2.0 | cat:is^1.4 | name:is^1.2 | manu:is^1.1 | description:is^5.0 | text:is^0.5 | id:is^10.0 | resourcename:is | title:is^10.0) (features:a | keywords:a^5.0 | author:a^2.0 | cat:a^1.4 | name:a^1.2 | manu:a^1.1 | description:a^5.0 | text:a^0.5 | id:a^10.0 | resourcename:a | title:a^10.0) (features:test | keywords:test^5.0 | author:test^2.0 | cat:TEST^1.4 | name:test^1.2 | manu:test^1.1 | description:test^5.0 | text:test^0.5 | id:TEST^10.0 | resourcename:test | sku:test^1.5 | title:test^10.0))~4) /str
  • 24. 24 03 TreeMap – Troubleshooting Solr cloud 1.  Good luck with exponential complexity increase. 2.  Try to reproduce in a standalone instance! 3.  Tools exist, but they are themselves complex (e.g. Jepsen) 4.  But the TreeMap process is the same overall Cloud adds many more locations
  • 25. 25 03 Troubleshooting – closing notes and review 1.  Troubleshooting is both art (intuition) and science 2.  The more you apply the science, the better you become at the art 3.  Remember the overall process Establish the boundaries Split the problem Identify the relevant part Zoom in Re-formulate the boundaries Repeat until fixed/problem identified 4.  Remember the boundaries Identity Location Timing Magnitude
  • 26. 26 03 Troubleshooting – next step 1.  My resources and mailing list: http://www.solr-start.com/ 2.  Solr-users mailing list and archives Identify your boundary in the email 3.  Books, current and upcoming 4.  Google/Bing/DDG – use good keywords 5.  Share what you learned