# Question de mapping (je débute)

**URL:** https://discuss.elastic.co/t/question-de-mapping-je-debute/285592
**Category:** Discussions en français
**Created:** [September 30, 2021, 12:54pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592 "2021-09-30T12:54:57Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![BombeurJean](https://avatars.discourse-cdn.com/v4/letter/b/e56c9b/32.png) [@BombeurJean](https://discuss.elastic.co/u/BombeurJean)
#### Post date: [September 30, 2021, 12:54pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/1 "2021-09-30T12:54:57Z")

</div>

Bonjour a tous ,  
ma question est la suivante :  
je ne vois pas quel token ou mapping utilisé pour remédier a ma problématique :  
dans mon moteur de recherche local pour pdf (avec le plug in ingest attachment).  
lorsque j'écris un par exemple un prénom , il va me trouver dans le document toute les fois ou le prénom est mentionné , mais j'aimerais qu'il me le souligne qu'une seul fois.  
ayant quelque difficulté a écrire ma problématique en anglais, je ne sais pas forcement la formuler dans la langue de shakespear . Je vous ai mis les settings de mon index "pdf".  
merci pour vos réponse

```auto
{
  "settings": {
    "index": {
      "max_ngram_diff": "20",
      "blocks": {
        "write": "true"
      },
      "provided_name": "pdf",
      "creation_date": "1632383182575",
      "sort": {
        "field": "web_path",
        "order": "desc"
      },
      "analysis": {
        "analyzer": {
          "name_analyzer": {
            "filter": [
              "lowercase"
            ],
            "type": "custom",
            "tokenizer": "trigram"
          }
        },
        "tokenizer": {
          "trigram": {
            "type": "nGram",
            "min_gram": "5",
            "max_gram": "15"
          }
        }
      },
      "number_of_replicas": "1",
      "uuid": "KoQ6cySVQ-uWl3lNFEbX2w",
      "version": {
        "created": "7140199"
      },
      "codec": "best_compression",
      "highlight": {
        "max_analyzed_offset": "10000000"
      },
      "routing": {
        "allocation": {
          "include": {
            "_tier_preference": "data_content"
          }
        }
      },
      "number_of_shards": "2"
    }
  },
  "defaults": {
    "index": {
      "flush_after_merge": "512mb",
      "final_pipeline": "_none",
      "max_inner_result_window": "100",
      "unassigned": {
        "node_left": {
          "delayed_timeout": "1m"
        }
      },
      "max_terms_count": "65536",
      "rollup": {
        "source": {
          "name": "",
          "uuid": ""
        }
      },
      "lifecycle": {
        "name": "",
        "parse_origination_date": "false",
        "step": {
          "wait_time_threshold": "12h"
        },
        "indexing_complete": "false",
        "rollover_alias": "",
        "origination_date": "-1"
      },
      "routing_partition_size": "1",
      "force_memory_term_dictionary": "false",
      "max_docvalue_fields_search": "100",
      "merge": {
        "scheduler": {
          "max_thread_count": "4",
          "auto_throttle": "true",
          "max_merge_count": "9"
        },
        "policy": {
          "floor_segment": "2mb",
          "max_merge_at_once_explicit": "30",
          "max_merge_at_once": "10",
          "max_merged_segment": "5gb",
          "expunge_deletes_allowed": "10.0",
          "segments_per_tier": "10.0",
          "deletes_pct_allowed": "33.0"
        }
      },
      "max_refresh_listeners": "1000",
      "max_regex_length": "1000",
      "load_fixed_bitset_filters_eagerly": "true",
      "number_of_routing_shards": "2",
      "write": {
        "wait_for_active_shards": "1"
      },
      "verified_before_close": "false",
      "mapping": {
        "coerce": "false",
        "nested_fields": {
          "limit": "50"
        },
        "depth": {
          "limit": "20"
        },
        "field_name_length": {
          "limit": "9223372036854775807"
        },
        "total_fields": {
          "limit": "1000"
        },
        "nested_objects": {
          "limit": "10000"
        },
        "ignore_malformed": "false"
      },
      "source_only": "false",
      "soft_deletes": {
        "enabled": "true",
        "retention": {
          "operations": "0"
        },
        "retention_lease": {
          "period": "12h"
        }
      },
      "max_script_fields": "32",
      "query": {
        "default_field": [
          "*"
        ],
        "parse": {
          "allow_unmapped_fields": "true"
        }
      },
      "format": "0",
      "frozen": "false",
      "sort": {
        "missing": [],
        "mode": []
      },
      "priority": "1",
      "max_rescore_window": "10000",
      "max_adjacency_matrix_filters": "100",
      "analyze": {
        "max_token_count": "10000"
      },
      "gc_deletes": "60s",
      "top_metrics_max_size": "10",
      "optimize_auto_generated_id": "true",
      "hidden": "false",
      "translog": {
        "generation_threshold_size": "64mb",
        "flush_threshold_size": "512mb",
        "sync_interval": "5s",
        "retention": {
          "size": "-1",
          "age": "-1"
        },
        "durability": "REQUEST"
      },
      "auto_expand_replicas": "false",
      "mapper": {
        "dynamic": "true"
      },
      "recovery": {
        "type": ""
      },
      "requests": {
        "cache": {
          "enable": "true"
        }
      },
      "data_path": "",
      "routing": {
        "rebalance": {
          "enable": "all"
        },
        "allocation": {
          "include": {
            "_tier": ""
          },
          "disk": {
            "watermark": {
              "ignore": "false"
            }
          },
          "exclude": {
            "_tier": ""
          },
          "require": {
            "_tier": ""
          },
          "enable": "all",
          "total_shards_per_node": "-1"
        }
      },
      "search": {
        "slowlog": {
          "level": "TRACE",
          "threshold": {
            "fetch": {
              "warn": "-1",
              "trace": "-1",
              "debug": "-1",
              "info": "-1"
            },
            "query": {
              "warn": "-1",
              "trace": "-1",
              "debug": "-1",
              "info": "-1"
            }
          }
        },
        "idle": {
          "after": "30s"
        },
        "throttled": "false"
      },
      "fielddata": {
        "cache": "node"
      },
      "default_pipeline": "_none",
      "max_slices_per_scroll": "1024",
      "shard": {
        "check_on_startup": "false"
      },
      "xpack": {
        "watcher": {
          "template": {
            "version": ""
          }
        },
        "version": "",
        "ccr": {
          "following_index": "false"
        }
      },
      "percolator": {
        "map_unmapped_fields_as_text": "false"
      },
      "allocation": {
        "max_retries": "5",
        "existing_shards_allocator": "gateway_allocator"
      },
      "refresh_interval": "1s",
      "indexing": {
        "slowlog": {
          "reformat": "true",
          "threshold": {
            "index": {
              "warn": "-1",
              "trace": "-1",
              "debug": "-1",
              "info": "-1"
            }
          },
          "source": "1000",
          "level": "TRACE"
        }
      },
      "compound_format": "0.1",
      "blocks": {
        "metadata": "false",
        "read": "false",
        "read_only_allow_delete": "false",
        "read_only": "false"
      },
      "max_result_window": "10000",
      "store": {
        "stats_refresh_interval": "10s",
        "type": "",
        "fs": {
          "fs_lock": "native"
        },
        "preload": [],
        "snapshot": {
          "snapshot_name": "",
          "index_uuid": "",
          "cache": {
            "prewarm": {
              "enabled": "true"
            },
            "enabled": "true",
            "excluded_file_types": []
          },
          "repository_uuid": "",
          "uncached_chunk_size": "-1b",
          "index_name": "",
          "partial": "false",
          "blob_cache": {
            "metadata_files": {
              "max_length": "64kb"
            }
          },
          "repository_name": "",
          "snapshot_uuid": ""
        }
      },
      "queries": {
        "cache": {
          "enabled": "true"
        }
      },
      "shard_limit": {
        "group": "normal"
      },
      "warmer": {
        "enabled": "true"
      },
      "max_shingle_diff": "3",
      "query_string": {
        "lenient": "false"
      }
    }
  }
}

```

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [September 30, 2021, 1:13pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/2 "2021-09-30T13:13:49Z")

</div>

Bonjour 👋🏼

Parles-tu de highlighting ici ?

---

<div class="post-metadata">

### Author: ![BombeurJean](https://avatars.discourse-cdn.com/v4/letter/b/e56c9b/32.png) [@BombeurJean](https://discuss.elastic.co/u/BombeurJean)
#### Post date: [September 30, 2021, 2:31pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/3 "2021-09-30T14:31:40Z")

</div>

oui en effet avec python flask et elasticsearch\_dsl  
c'est peut le nombre de fragment que je dois gérer par ex `"number_of_fragments" : 3`

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [September 30, 2021, 3:01pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/4 "2021-09-30T15:01:14Z")

</div>

Je n'ai pas vu d'option de ce genre.

---

<div class="post-metadata">

### Author: ![BombeurJean](https://avatars.discourse-cdn.com/v4/letter/b/e56c9b/32.png) [@BombeurJean](https://discuss.elastic.co/u/BombeurJean)
#### Post date: [September 30, 2021, 3:04pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/5 "2021-09-30T15:04:31Z")

</div>

je vais relire la doc sur le highlighting de ES .  
je confond surement , mais le fragment\_size a voir avec le nombre de fois que ça highlitght v?  
c'est la première fois que j'écris pour demander et je suis un peu intimider et je crois bien qu'il faut j'étaye un peu plus je reformulerais mieux et j'essayerai en anglais, merci d'avoir tout de même pris le temps de me répondre  
Je m'excuse pour le dérangement .

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [September 30, 2021, 4:12pm UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/6 "2021-09-30T16:12:27Z")

</div>

Dans l'idéal, essaye d'accompagner ta question avec un script qui permet de reproduire facilement le problème et qui permet de proposer éventuellement une solution.

Peux-tu fournir un script qui permet de reproduire ton cas ? Comme expliqué ici : [About the Elasticsearch category](https://discuss.elastic.co/t/about-the-elasticsearch-category/21). Essaye de faire un exemple le plus simple possible (pas besoin de tous les champs).

Un tel script est quelque chose qu'on peut coller dans la Dev Console de Kibana et cliquer sur le bouton "RUN" pour reproduire ton cas. Un tel script permet de mieux comprendre ce que tu fais et d'obtenir une résolution plus rapide de ta question.

---

<div class="post-metadata">

### Author: ![BombeurJean](https://avatars.discourse-cdn.com/v4/letter/b/e56c9b/32.png) [@BombeurJean](https://discuss.elastic.co/u/BombeurJean)
#### Post date: [October 1, 2021, 9:16am UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/7 "2021-10-01T09:16:20Z")

</div>

Merci pour les conseils je vais essayer d’être plus clair et d'étayer ma requete 🙂 .  
j'ai paramétré mon "higlight" pour que la taille du fragment surligné soit lié a la longueur du texte que j'affiche  
search.py :  
`s.highlight('stored_attachment.content', fragment_size=preview_len) #preview_len donnée à changé en config.py`  
config.py `preview_len = 400`  
search\_result.html ` <span>Trouvé dans le fichier: <b>{{ len(search_results['content']) }}</b></span>`  
Quand je réduit la taille du "preview len" bien entendu cela réduit la taille du texte afficher. Mais ce que je n'arrive pas résoudre , c'est que quand je réduit le preview len mon document s'affiche autant de fois que le mot que je recherche apparaît.  
Alors je me pose la question suivantes : Le highlight est peut être pas la meilleur des moyens d'arriver a mon objectif. peut être dois\_je modifier les propriétés de mon mon Index ES (avec kibana) . La façon dont je recherche dans le fichier peut être (python). Peut être dois-je rajouté un autre analyzer (pour l'instant que lower case).

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [October 1, 2021, 9:54am UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/8 "2021-10-01T09:54:50Z")

</div>

Un exemple concret et simple m'aiderait à mieux comprendre ce que tu fais, ce que tu obtiens et ce que tu voudrais.

---

<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: [October 29, 2021, 9:54am UTC](https://discuss.elastic.co/t/question-de-mapping-je-debute/285592/9 "2021-10-29T09:54:58Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
