Skip to content
This repository has been archived by the owner on Nov 23, 2023. It is now read-only.
/ solr-rdd Public archive

Relevancy Driven Development for Solr using SolrJ

Notifications You must be signed in to change notification settings

rbramley/solr-rdd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Relevancy Driven Development

The aim of RDD is to allow the business users to gain confidence in the relevancy of the search query results.

This is a placeholder repository for a Solr RDD implementation as the code is pre-alpha with a lot still to do.

It can be achieved with EasyB, but needs a lot of polish/meta-programming to mask a the SolrJ boilerplate code.

How is this done?

The trick is that the business users can use a constrained data set, define a query and the results they expect in the order that they expect.

The approach leans on the BDD behaviour story approach:

scenario "Exercise bikes"
   given "standard product data set"
   when "I search for 'exercise bike'"
   and when "I sort by price descending"
   then "I get results with ids [PRD-123,PRD-234]"

Constrained data

Constraining the data set allows us to be able to reliably make assertions (think DbUnit).

There are a couple of ways that this can be used:

  1. Standalone Solr instance that is flattened and primed with the known data set (would only want to do this at the whole test level)
  2. Embedded Solr (could be done per story with small datasets).

Data changes

There is a Groovy script to assist with handling the case of schema changes (assuming the use of Solr update XML format).

What still needs to be done?

The custom DSL implementation over SolrJ...

About

Relevancy Driven Development for Solr using SolrJ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published