Ho un name
campo che è un suggeritore di completamento e l'indicizzazione genera a mapper_parsing_exception
errore, affermando value must have a length > 0
.
Ci sono davvero alcuni valori vuoti in questo campo. Come li accetto?
ignore_malformed
non ha avuto alcun effetto, neanche al properties
o index
livello.
Ho provato a filtrare le stringhe vuote nell'analizzatore, impostando una lunghezza minima:
PUT /genes
{
"settings": {
"analysis": {
"filter": {
"remove_empty": {
"type": "length",
"min": 1
}
},
"analyzer": {
"keyword_lowercase": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"remove_empty"
]
}
}
}
},
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase"
}
}
}
}
}
O filtra stringhe vuote come stopword:
"remove_empty": {
"type": "stop",
"stopwords": [""]
}
Il tentativo di applicare un filtro alla mappatura dei nomi genera un errore di parametro non supportato:
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase",
"filter": "remove_empty"
}
}
}
}
Questo sembra che dovrebbe essere semplice. C'è un modo per fare questo?
Grazie!
risposte:
1 per risposta № 1Ho affrontato lo stesso problema. Dopo alcune ricerche, mi sembra che attualmente l'unica opzione sia quella di modificare i dati (ad es. Sostituire valori vuoti con alcuni valori fittizi non vuoti) prima indicizzazione.
Ma ci sono anche buone notizie. Questa edizione esiste su GitHub ed era risoluto circa un mese fa. È previsto il rilascio nella versione 6.4.0.