2017-05-24 6 views
0

Ich hoffe, eine Suchfunktion wie Google für meine Website mit Auto vervollständigen zu entwickeln. Szenarien sind unterBeste Option zum Suchen mit Autocomplete mit Vorschlägen?

  • Benutzer kann Schlüsselwörter mit Rechtschreibfehlern und den richtigen Vorschlag nur für Elemente in unserer Website erhalten
  • der Benutzer die automatische Vervollständigung Vorschläge bekommen müssen, wenn sie ein Wort
  • Lage sein muss, die Eingabe eingeben Keywords und

nach wenig Forschung ein Modell für die Vorschläge zu trainieren, fand ich unten Produkte sind

eine solche Aufgabe dazu in der Lage
  • Apache Solr
  • Elasticsearch

kann jemand über diese beiden Dienste erklären und mir sagen, was mit einem minimalen Entwicklungsaufwand und maximaler Effizienz entwickelt werden kann? und wenn es irgendwelche anderen Produkte gibt, stimmen die oben genannten Szenario-Vorschläge mir bitte zu.

Antwort

0

Elasticsearch bietet diese Funktionen in Form von Suggesters an (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html).

  • Der Term-Suggester ist in der Lage, weitere Terme nach Bearbeitungsentfernung vorzuschlagen. Das heißt, es kann Tippfehler beheben.
  • Der Phrase-Suggester ist komplexer, aber im Wesentlichen schlägt er die "feste" Phrase vor.
  • Der Completion-Suggester ist grundsätzlich für die automatische Vervollständigung gedacht.

Sie alle verlassen sich auf ihre indizierten Daten. Im Grunde indexieren Sie echte/korrekte Suchbegriffe, auf denen diese Vorschläge funktionieren. Die coole Sache ist, dass das 'Modell' automatisch aktualisiert wird, wenn Sie diesen Indizes neue Suchausdrücke hinzufügen. Das bedeutet, dass Sie die Fähigkeiten im Laufe der Zeit erweitern können.

Leider habe ich diese noch nicht benutzt, daher kann ich Ihnen keine Tipps geben, wie es geht. Versuchen Sie, auf die Dokumentation zu verweisen - es ist normalerweise ziemlich gut. Ich stelle mir jedoch vor, dass diese Aufgabe ein bisschen schwierig sein könnte, wenn Sie noch keine Ahnung von Elasticsearch haben. Vielleicht möchten Sie also das "Erste Schritte" lesen.

Wie für Solr: Ich weiß nicht, wie Sie es dort tun würden. Ich weiß nur, dass es die gleiche zugrunde liegende Textsuchmaschine verwendet - Apache Lucene. Ich erwarte daher, dass sie sich hinsichtlich der Funktionalität nicht sehr unterscheiden.

Verwandte Themen