2. Putting a Search Engine on Your Website
● Installing Your Own Search Engine Script
● Using a Free or Commercial Third Party
Hosted Search Engine Service
● Using the Major Search Engines
4. Search in Drupal core
1. Builds index from strings
2. Parses tags
3. Does trims and cleanups
4. Calculates words score
5. Handle links between nodes and users
6. Easily extandable
https://www.acquia.com/blog/drupal-search-how-indexing-works
6. 1. Advanced Full-Text Search Capabilities
2. Optimized for High Volume Traffic
3. Standards Based Open Interfaces - XML, JSON and HTTP
4. Comprehensive Administration Interfaces
5. Easy Monitoring
6. Highly Scalable and Fault Tolerant
7. Flexible and Adaptable with easy configuration
8. Near Real-Time Indexing
9. Extensible Plugin Architecture
10. Schema when you want, schemaless when you don't
11. Powerful Extensions
12. Faceted Search and Filtering
13. Geospatial Search
14. Advanced Configurable Text Analysis
15. Highly Configurable and User Extensible Caching
16. Performance Optimizations
17. External Configuration via XML
18. Advanced Storage Options
19. Monitorable Logging
20. Query Suggestions, Spelling and More
21. Your Data, Your Way!
22. Rich Document Parsing
23. Apache UIMA
24. Multiple search indices
7. Lucene, Elastic
Apache LuceneTM is a high-performance, full-featured text search engine library written entirely in Java. It is a
technology suitable for nearly any application that requires full-text search, especially cross-platform.
Apache Lucene is an open source project available for free download.
Elastic:
- Schemaless
- True REST via JSON
- Live updates
- Fast Indexing
10. ● Geoclustering
● Search withing a distance (proximity search)
● Search by polygon
● Support for spatial fields
● Bounding-box filter
● Facet by distance
● Boosting closest results
Geospatial
11.
12. Analytics
Faceting
● Field Faceting
● Support for int, long, float, double, date, string fields
● Support for multi-value fields
● Support for limit, offset and mincount
● Support for sorting of stats-facets by any statistic (ie sort by mean)
● Support for range faceting of stats (numeric types and dates)
● Support for query faceting of stats
Statistical Expressions
● All stats provided by StatsComponent (min,max,count,stddev,sum,sumofsquares,mean)
● Unique count
● Median value
● Percentiles (eg 90th percentile)
● Statistics on a combination of fields (eg mean of (field A * field B))
● Expressions of statistics (eg (mean of field A) * (mean of field B))
13.
14. Setting up the Search
1. Download
2. Untar
3. Run ./bin/solr start
4. Enjoy Searching
5. …
6. Go back and fix xml configs
7. Define fields schema
8. Have a lot of pain and goto 6