Start an AB test with Lunr search results as treatment (#18993)
* Start search_lunr AB test * Towards prewarming * Towards prewarming * Warm only english/dotcom index * Update warm-server.js
This commit is contained in:
@@ -4,6 +4,10 @@ const versions = new Set(Object.values(require('../lib/search/versions')))
|
||||
const loadLunrResults = require('../lib/search/lunr-search')
|
||||
const loadAlgoliaResults = require('../lib/search/algolia-search')
|
||||
|
||||
// temp
|
||||
const murmur = require('imurmurhash')
|
||||
// end temp
|
||||
|
||||
const router = express.Router()
|
||||
|
||||
router.get('/', async function postSearch (req, res, next) {
|
||||
@@ -21,8 +25,16 @@ router.get('/', async function postSearch (req, res, next) {
|
||||
return res.status(200).json([])
|
||||
}
|
||||
|
||||
// temp
|
||||
const userEventsId = req.cookies['_docs-events']
|
||||
const experimentHash = userEventsId
|
||||
? murmur('search_lunr').hash(userEventsId).result()
|
||||
: 0
|
||||
const inTreatment = experimentHash % 2
|
||||
// end temp
|
||||
|
||||
try {
|
||||
const results = process.env.AIRGAP || req.cookies.AIRGAP
|
||||
const results = process.env.AIRGAP || req.cookies.AIRGAP || inTreatment
|
||||
? await loadLunrResults({ version, language, query: `${query} ${filters || ''}`, limit })
|
||||
: await loadAlgoliaResults({ version, language, query, filters, limit })
|
||||
return res.status(200).json(results)
|
||||
|
||||
Reference in New Issue
Block a user