Word_delimiter Filter et position


#1

Bonjour,
Je suis passe de ES. 1.7 à la version 5.4.1
et J'ai un "probleme" avec un word_delimiter filter.
Est il possible de ne pas tenir compte de la position des token.
Je vaux pouvoir faire des recherche sur des noms composés
Exemple :

DELETE  my_index
PUT my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_custom_analyzer": {
          "type":      "custom",
          "tokenizer": "keyword",
          "char_filter": [
            "html_strip"
          ],
          "filter": [
               	"trim",
    		"lowercase",
		"asciifolding",				
    		"worddelimiter_test"
          ]
        }
  	    },
    	"filter": {
		"worddelimiter_test": {
			"type": "word_delimiter",
			"split_on_numerics": false,
			"split_on_case_change": false,
			"generate_word_parts": true,
			"generate_number_parts": false,
			"catenate_all": true,
			"preserve_original": true
				}
			}
    		}
  },
  "mappings": {
    	"personne": {
			"_all": {
				"enabled": false
			},
			"properties": {
				"nom": {
					"type": "string",
					"analyzer": "my_custom_analyzer",
					"omit_norms": "true",
					"index_options": "docs",
					"fielddata": "true"
				}
			}
    	}
  }
	
}

Je poste 1 documents

POST  my_index/personne/
{ "nom": "noma"}

ET la recherche d'un nom composé approché a une lettre prêt :sdfsdf-nomb

POST my_index/personne/_search
{
    "query" :{
        "bool": {
            "must" : [{
                "match" :{
                    "nom" : {
                        "query": "sdfsdf-nomb",
                         "analyzer" : "my_custom_analyzer",
                 	  "fuzziness" : "2"
                }}}
                ]
        }
}}

le document noma est trouvé
mais si la recherche se faite sur nomb-sdfsdf le document n'est pas trouvé.

POST my_index/personne/_search
{
    "query" :{
        "bool": {
            "must" : [{
                "match" :{
                    "nom" : {
                        "query": "nomb-sdfsdf",
                         "analyzer" : "my_custom_analyzer",
                   "fuzziness" : "2"
                }}}
                ]
        }
}}

Je ne comprends pas pourquoi ?


(David Pilato) #2

Please format your code using </> icon as explained in this guide. It will make your post more readable.

Or use markdown style like:

```
CODE
```

Utilise l'API _analyze pour comprendre ce que deviennent tes chaines de caractères lorsqu'elles passent dans un analyseur. Tu devrais trouver peut-être la réponse.


(system) closed #3

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