# Requête qui retourne les matchs exact en slop(0) et slop(1) en une seule requête

**URL:** https://discuss.elastic.co/t/requete-qui-retourne-les-matchs-exact-en-slop-0-et-slop-1-en-une-seule-requete/39250
**Category:** Discussions en français
**Created:** [January 14, 2016, 4:35pm UTC](https://discuss.elastic.co/t/requete-qui-retourne-les-matchs-exact-en-slop-0-et-slop-1-en-une-seule-requete/39250 "2016-01-14T16:35:14Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)
#### Post date: [January 14, 2016, 4:35pm UTC](https://discuss.elastic.co/t/requete-qui-retourne-les-matchs-exact-en-slop-0-et-slop-1-en-une-seule-requete/39250/1 "2016-01-14T16:35:14Z")

</div>

Bonjour,

Je cherche à faire une requête qui cumule le résultat des matchs des résultats pour une phrase query en slop 0 et en slop 1 en me sortant en score un score fixe de 10 pour les matchs en slop 0 et de 20 pour les matchs en slop 1

Les requêtes basiques que j'utilise :  
QueryBuilder allTermsLong = matchPhraseQuery("text", query.originalText)  
.operator(org.elasticsearch.index.query.MatchQueryBuilder.Operator.AND)  
.fuzziness(Fuzziness.ZERO)  
.minimumShouldMatch("100%").slop(1);

QueryBuilder allTerms = matchPhraseQuery("text", query.originalText)  
.operator(org.elasticsearch.index.query.MatchQueryBuilder.Operator.AND)  
.fuzziness(Fuzziness.ZERO)  
.minimumShouldMatch("100%").slop(0);

SearchRequestBuilder srb = elasticSearchService.getClient().prepareSearch("labels-zz","labels-fr")  
.setTypes(getTypesName(query)).setSize(FETCH\_SIZE).setExplain(false)  
.setTrackScores(true).setNoFields()  
.setFetchSource(FETCH\_SOURCES);  
srb.setQuery(allTerms);

SearchRequestBuilder srb1 = elasticSearchService.getClient().prepareSearch("labels-zz","labels-fr")  
.setTypes(getTypesName(query)).setSize(FETCH\_SIZE).setExplain(false)  
.setTrackScores(true).setNoFields()  
.setFetchSource(FETCH\_SOURCES);  
srb.setQuery(allTermsLong);

Actuellement j'exécute ces 2 requêtes et je merge les résultats dans mon middle.

J'aimerais pour des raisons de performance faire celà en une seule requête. Est ce possible ? Genre avec une filter query sur le slop par exemple ?

Cordialement,  
Blured.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 1:50pm UTC](https://discuss.elastic.co/t/requete-qui-retourne-les-matchs-exact-en-slop-0-et-slop-1-en-une-seule-requete/39250/2 "2017-07-06T13:50:02Z")

</div>


