1
0
mirror of synced 2025-12-25 02:17:36 -05:00

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:
Kevin Heis
2021-05-04 09:24:19 -07:00
committed by GitHub
parent 66f7874520
commit 3d621ba715
4 changed files with 51 additions and 6 deletions

View File

@@ -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)