23
SEARCH ENGINES: BEST PRACTICE BY YULIYA PRACH “EPAM SYSTEMS”

Search Engines: Best Practice

Embed Size (px)

Citation preview

Page 1: Search Engines: Best Practice

SEARCH ENGINES:BEST PRACTICE

BY YULIYA PRACH“EPAM SYSTEMS”

Page 2: Search Engines: Best Practice

8 BASIC PRINCIPLES OF EFFECTIVE ON-SITE SEARCH

1) Search Box Prominence

2) Search Box Text

3) High-Quality Thumbnails in Search Results

4) Auto Suggestion and Spell Correction

5) Fuzzy Matching

6) Grid vs. List View

7) Quick Preview

8) Reviews and Rating Displayed in Search Result

Page 3: Search Engines: Best Practice

• INSTALL SOLR

• APACHE SOLR SEARCH

• SEARCH API SOLR SEARCH

Page 4: Search Engines: Best Practice

Solr

Open source enterprise search platform

Written in Java

Solr 4 adds NoSQL features

Near Real Time Search

Optimistic Concurrency Control

Atomic updates

Page 5: Search Engines: Best Practice

SOLR

Big community

Take off the workload of database

Response in csv, xml, json, php ...

Spellchecking

Results Grouping

Decision tree faceting (Pivot facets)

Hosting Support (websolr.com, solrhq.com)

No Split Brain situations

Page 6: Search Engines: Best Practice

Need a schema

No Ability to search across multiple indexes

No Support for multiple document types per schema

SOLR

Page 7: Search Engines: Best Practice

HOW TO INSTALL SOLR?

Page 8: Search Engines: Best Practice

SUDO APT-GET INSTALL OPENJDK-7-JRE << UBUNTU(MINT)

SU -C "YUM INSTALL JAVA-1.7.0-OPENJDK” << ORACLE/CENTOS/SUSE/FEDORA

2) INSTALLING SOLR

1) DOWNLOADING AND INSTALLING JAVA

WGET HTTP://ARCHIVE.APACHE.ORG/DIST/LUCENE/SOLR/4.10.3/SOLR-4.10.3.TGZ

TAR -XVF SOLR-4.10.3.TGZ

/”PATH TO YOUR UNCOMPRESSED SOLR”/BIN/SOLR START

Page 9: Search Engines: Best Practice

3) CHECKING http://localhost:8983/solr

4) COPY FILES FROM /”module_name”/solr-conf/solr-4.x TO solr/collection1/conf

Page 10: Search Engines: Best Practice

APACHE SOLR SEARCHVS

SEARCH API SOLR SEARCH

Page 11: Search Engines: Best Practice

INTEGRATING SOLR TO DRUPAL

Apachesolr Search Search API Solr Serch

• Needs a custom module for adding fields to index

• Indexes only nodes (by default)• To add some useful things needs a

custom written module• Stores lots of data and return it in

response• Integrates into default search form

• Adding fields to index in admin panel

• Indexes entities• A lot of modules on Drupal.org to

extend its functionality• Stores only ID (to load data hits

database)• Creating a search page and search

form requires additional modules or views

Page 12: Search Engines: Best Practice

APACHESOLR SEARCH

Page 13: Search Engines: Best Practice

SEARCH API SOLR SEARCH

Page 14: Search Engines: Best Practice

FACETED SEARCHFacet API & Facet Slider (Apache Solr Search)

Search facets & Search API ranges (Search API Solr Search)

Page 15: Search Engines: Best Practice

EXTENDING SEARCH

Search API Pages & Search API Page Block

Search API Autocomplete/Apache Solr Autocomplete

Rich Snippets

Search Api Live Result

Searchcloud Block

Display suite

Fuzzy Search

Page 16: Search Engines: Best Practice

SEARCH PAGE EXAMPLE

Page 17: Search Engines: Best Practice

Elastic Search Connector

Page 18: Search Engines: Best Practice

Elastic Search

Schemaless

Rapid feature development

Allows multiple types of documents per index

Aggregations

Percolator (prospective search)

Page 19: Search Engines: Best Practice

Prone to 'Split Brain' Situations

Poor documentation

Some missing features (Results Grouping, Decision Tree Faceting)

Only json response

Elastic Search

Page 20: Search Engines: Best Practice

INSTALLING ELASTICSEARCH

Page 21: Search Engines: Best Practice

INSTALLING ELASTICSEARCH

1) Download and install the latest version of OPENJDK

2) Download needed version from http://www.elasticsearch.org/overview/elkdownloads/

3) Unzip it in the destination folder

4) Run bin/elasticsearch in Linux or bin/elasticsearch.bat in Windows

5) Go to localhost:9200 to check whether it works

Page 22: Search Engines: Best Practice

ELASTICSEARCH CONNECTOR

Page 23: Search Engines: Best Practice

THANKS FORYOUR ATTENTION!

E-mail: [email protected]: yulichka_lviv