Problem mit fuzzy in Elastic Search

Issue #748 resolved
Tobias Schneider created an issue

In Version 2.16.2 funktioniert noch die von uns definierte (unscharfe) Suche mit Elastic Search. Wichtig dabei sind für uns v.a. die Ergebnisvorschläge durch die fuzzy queries (Screenshot 1).

Zum Vergleich: in einem identisch aufgesetzten Portal auf Basis der Masterportalversion 2.19.0 liefert die Suche leider nur scharfe Ergebnisse bzw. es ist keine fehlertolerante Suche mehr möglich (Screenshot 2).

Elastic Search ist wie nachfolgend konfiguriert:

            "elasticSearch": {
                "minChars": 3,
                "maxFeatures": 15,
                "serviceId": "ESN",
                "type": "POST",
                "payload": {
                    "sort": [
                        {
                            "properties.sort": {
                                "order": "asc"
                            }
                        },
                        {
                            "properties.HAUSNUMMER": {
                                "order": "asc"
                            }
                        }
                    ],
                    "query": {
                        "bool": {
                            "should": [
                                {
                                    "fuzzy": {
                                        "properties.searchField": {
                                            "value": "",
                                            "fuzziness": "AUTO",
                                            "max_expansions": 50,
                                            "prefix_length": 0,
                                            "transpositions": true,
                                            "rewrite": "constant_score"
                                        }
                                    }
                                },
                                {
                                    "match_phrase_prefix": {
                                        "properties.searchField": ""
                                    }
                                }
                            ]
                        }
                    },
                    "size": 999
                },
                "searchStringAttribute": "properties.searchField",
                "responseEntryPath": "hits.hits",
                "hitMap": {
                    "name": "_source.properties.searchField",
                    "id": "_source.properties.id",
                    "source": "_source",
                    "coordinate": "_source.geometry.coordinates",
                    "geometryType": "_source.geometry.type",
                    "type": "_source.properties.indexname",
                    "glyphicon": "_source.properties.hitGlyphicon"
                }
            },

Comments (9)

  1. mkl

    Guten Tag Herr Schneider,

    könnten Sie bitte einen Dienst bereitstellen, gegen den wir testen können?

    Beste Grüße

    Melanie Klamp

  2. mkl

    Hallo Herr Schneider,

    könnten Sie bitte einmal prüfen, ob das ändern der payload das gewünschte Verhalten wiederherstellt.
    Es scheint, dass das masterportal die payload damals nicht korrekt an den Dienst gesendet hat und stattdessen folgendes übergeben wurde:

       "payload": {
                "sort": [
                    {
                        "properties.sort": {
                            "order": "asc"
                        }
                    },
                    {
                        "properties.HAUSNUMMER": {
                            "order": "asc"
                        }
                    }
                ],
                "query": {
                    "bool": {
                        "should": [
                            {
                              "fuzzy": {
                                "properties.searchField": ""
                            }
                            },
                            {
                                "match_phrase_prefix": {
                                    "properties.searchField": ""
                                }
                            }
                        ]
                    }
                },
                "size": 999
            },
    

    Dieses Verhalten wurde nun in der v.2.19.0 korrigiert. Nun wird die payload vollständig übergeben.
    Allerdings hat das fuzzy - Property in dem gesendeten Request kein value. Das muss ich noch prüfen.
    Bis dahin hilft Ihnen vielleicht die Abwandlung der payload.

    Beste Grüße
    Melanie Klamp

  3. Tobias Schneider reporter

    Hallo Frau Klamp,

    ich habe Ihren Anpassungsvorschlag in die config.json übernommen und nun funktioniert auch wieder die fuzzy-Suche - also in der MP-Version 2.19.0 werden wieder, wie gewünscht, mehrere Suchergebnisse geliefert.

    Danke für die schnelle Bearbeitung!

    Viele Grüße

    Tobias Schneider

  4. mkl

    Hallo Herr Schneider, es freut mich sehr, dass Ihnen die Anpassungen helfen konnten. Diese Issue werde ich dann schließen. Beste Grüße Melanie Klamp

  5. Log in to comment