use filter instead of must in query

faster, and the score does not matter here
This commit is contained in:
2016-05-17 13:37:22 -07:00
parent 5f2e2b09cf
commit 89c08068dd
2 changed files with 4 additions and 5 deletions

View File

@@ -235,11 +235,11 @@ export default class Job extends events.EventEmitter {
constant_score: {
filter: {
bool: {
must: { term: { jobtype: this.jobtype } },
filter: { term: { jobtype: this.jobtype } },
should: [
{ term: { status: 'pending'} },
{ bool:
{ must: [
{ filter: [
{ term: { status: 'processing' } },
{ range: { process_expiration: { lte: nowTime } } }
] }

View File

@@ -231,8 +231,7 @@ describe('Worker class', function () {
it('should search by job type', function () {
const { body } = getSearchParams(jobtype);
const conditions = get(body, conditionPath);
expect(conditions).to.have.property('must');
expect(conditions.must).to.eql({ term: { jobtype: jobtype } });
expect(conditions.filter).to.eql({ term: { jobtype: jobtype } });
});
it('should search for pending or expired jobs', function () {
@@ -243,7 +242,7 @@ describe('Worker class', function () {
// this works because we are stopping the clock, so all times match
const nowTime = moment().toISOString();
const pending = { term: { status: 'pending'} };
const expired = { bool: { must: [
const expired = { bool: { filter: [
{ term: { status: 'processing' } },
{ range: { process_expiration: { lte: nowTime } } }
] } };