Browse Source

Merge pull request #171 from pelias/phrase_slop

phrase slop query modifications
pull/209/head
Peter Johnson a.k.a. insertcoffee 9 years ago
parent
commit
ee3c96f84b
  1. 12
      query/search.js
  2. 60
      test/unit/query/search.js

12
query/search.js

@ -43,7 +43,10 @@ function generate( params ){
// add search condition to distance query
query.query.filtered.query.bool.must.push({
'match': {
'name.default': input
'name.default': {
'query': input,
'analyzer': 'peliasOneEdgeGram'
}
}
});
@ -51,7 +54,12 @@ function generate( params ){
// note: this is required for shingle/phrase matching
query.query.filtered.query.bool.should.push({
'match': {
'phrase.default': input
'phrase.default': {
'query': input,
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
});

60
test/unit/query/search.js

@ -82,12 +82,20 @@ var expected = {
'bool': {
'must': [{
'match': {
'name.default': 'test'
'name.default': {
'query': 'test',
'analyzer': 'peliasOneEdgeGram'
}
}
}],
'should': [{
'match': {
'phrase.default': 'test'
'phrase.default': {
'query': 'test',
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
}]
}
@ -164,12 +172,20 @@ module.exports.tests.query = function(test, common) {
'bool': {
'must': [{
'match': {
'name.default': 'test'
'name.default': {
'query': 'test',
'analyzer': 'peliasOneEdgeGram'
}
}
}],
'should': [{
'match': {
'phrase.default': 'test'
'phrase.default': {
'query': 'test',
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
}]
}
@ -204,12 +220,20 @@ module.exports.tests.query = function(test, common) {
'bool': {
'must': [{
'match': {
'name.default': 'test'
'name.default': {
'query': 'test',
'analyzer': 'peliasOneEdgeGram'
}
}
}],
'should': [{
'match': {
'phrase.default': 'test'
'phrase.default': {
'query': 'test',
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
}]
}
@ -262,7 +286,10 @@ module.exports.tests.query = function(test, common) {
'must': [
{
'match': {
'name.default': '123 main st'
'name.default': {
'query': '123 main st',
'analyzer': 'peliasOneEdgeGram'
}
}
}
],
@ -339,7 +366,12 @@ module.exports.tests.query = function(test, common) {
},
{
'match': {
'phrase.default': '123 main st'
'phrase.default': {
'query': '123 main st',
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
}
]
@ -456,7 +488,10 @@ module.exports.tests.query = function(test, common) {
'must': [
{
'match': {
'name.default': 'soho grand'
'name.default': {
'query': 'soho grand',
'analyzer': 'peliasOneEdgeGram'
}
}
}
],
@ -498,7 +533,12 @@ module.exports.tests.query = function(test, common) {
},
{
'match': {
'phrase.default': 'soho grand'
'phrase.default': {
'query': 'soho grand',
'analyzer': 'peliasPhrase',
'type': 'phrase',
'slop': 2
}
}
}
]

Loading…
Cancel
Save