Suchbegriffe mit Query Workbench hervorheben
In dieser Serie „Aus der Praxis“ stellen wir Ihnen die Query Workbench in Fusion Server vor und zeigen Ihnen hilfreiche…
In dieser Serie „Aus der Praxis“ stellen wir Ihnen die Query Workbench in Fusion Server vor und zeigen Ihnen hilfreiche Tipps und Tricks, wie Sie das Beste aus Ihren Suchergebnissen herausholen. In diesem Beitrag erfahren Sie, wie Sie schnell (in weniger als fünf Minuten) Suchbegriffe in den Suchergebnissen hervorheben und andere verfügbare Hervorhebungsfunktionen erkunden können. Starten wir den Timer:
Was ist Hervorhebung?
Wenn Benutzern Suchergebnisse angezeigt werden, sehen sie oft Ausschnitte von Informationen, die sich auf ihre Suche beziehen. Durch die Hervorhebung werden die Schlüsselwörter in diesen Ausschnitten der Ergebnisse sichtbar, so dass der Benutzer die Vorkommen visuell erkennen kann. Diese Funktion verbessert das Benutzererlebnis und die Benutzerfreundlichkeit der Suchergebnisse.
Grundlegende Hervorhebung
Für den Anfang verwenden wir eine zuvor erstellte Fusion App, die einen Website-Crawl von lucidworks.com durchgeführt hat. Nachdem wir uns bei Fusion angemeldet, unsere App ausgewählt und die Query Workbench aus dem Menü Querying geöffnet haben, werden uns die gecrawlten Dokumente angezeigt.
Die Hervorhebungsfunktionen werden durch Solr-Abfrageparameter gesteuert, und zwar über die Stufe Zusätzliche Abfrageparameter. Öffnen Sie das Dropdown-Menü Stufe hinzufügen und wählen Sie Zusätzliche Abfrageparameter, um die Stufe zur Abfrage-Pipeline hinzuzufügen.(Klicken Sie hier für die Dokumentation zu Abfrage-Pipelines).
Benennen Sie die Stufe Zusätzliche Abfrageparameter, indem Sie eine Bezeichnung hinzufügen, z. B. „Hervorhebung“. Wir beginnen mit dem Hinzufügen der beiden erforderlichen Solr-Parameter(hl und hl.fl):
Wir geben dem hl-Parameter den Wert true, um die Hervorhebung zu aktivieren, und dem hl.fl-Parameter (Feldliste) den Platzhalterwert *, um alle Felder zu finden, in denen eine Hervorhebung möglich ist. In der Produktion müssen Sie die abzugleichenden Felder explizit festlegen. Klicken Sie auf Speichern, um die Änderungen zu übernehmen. Tipp: Sie können auf die Schaltfläche Abbrechen klicken, um das Bühnenpanel zu schließen.
In der Standardeinstellung zeigt die Query Workbench keine hervorgehobenen Ergebnisse an. Um die Anzeige von hervorgehobenen Ergebnissen zu aktivieren, öffnen Sie die Optionen Ergebnisse formatieren am unteren Rand und markieren Sie die Option Hervorhebung anzeigen? Klicken Sie auf Speichern, um die Änderung zu übernehmen.
Lassen Sie uns nun eine Abfrage testen, um die Hervorhebung in Aktion zu sehen. In unserem Abfragefeld werden wir eine Suche nach Daten durchführen :
Wir können nun sehen, dass Übereinstimmungen aus der Abfrage hervorgehoben werden, sowie die Felder, die die Übereinstimmungen enthalten. Die tatsächlich hervorgehobenen Fragmente, die unter dem Ergebnis in der Query Workbench zu sehen sind, gehören zum Hervorhebungsabschnitt der Kopfzeile der Antwort. Um die Antwort anzuzeigen, klicken Sie auf die Registerkarte URI und kopieren/einfügen Sie die Arbeits-URI in eine neue Browser-Registerkarte:
Diese Query Pipeline API-Antwort bietet einen Hervorhebungsabschnitt für jedes Dokument mit den passenden Snippets pro Feld:
{ "debug": { ... }, "response": { ... }, "responseHeader": { ... }, "highlighting": { "https://lucidworks.com/darkdata/": { "twitter_title_t": [ "Lucidworks | Dark <em>Data</em>" ], "twitter_description_t": [ "What you know about your <em>data</em> is only the tip of the iceberg. #darkdata @Lucidworks" ], "og_title_t": [ "Lucidworks: The <em>Data</em> that Lies Beneath" ], "title_t": [ "Lucidworks: The <em>Data</em> that Lies Beneath" ], "og_description_t": [ "Dark <em>Data</em> is Power." ], "body_t": [ "00.100 THE <em>DATA</em> THAT LIES BENEATH What you know about your <em>data</em> is only the tip of the iceberg" ] }, "https://lucidworks.com/2018/06/25/big-data-failing-pharma/": { "twitter_title_t": [ "Big <em>Data</em> is Failing Pharma" ], "og_title_t": [ "Big <em>Data</em> is Failing Pharma" ], "title_t": [ "Big <em>Data</em> is Failing Pharma" ], "og_url_t": [ "https://lucidworks.com/2018/06/25/big-<em>data</em>-failing-pharma/" ], "body_t": [ " machine learning, and artificial intelligence. Learn more › Quickly create bespoke <em>data</em> applications for" ], "article_section_t": [ "Big <em>Data</em>" ] }, ... }, "facet_counts": { ... } }
Using a tool such as Fusion App Studio, highlighting will be parsed and displayed automatically on the front-end UI. For custom UI integrations, the Query Pipeline API’s response with highlighting information can be easily parsed for presentation.
Additional Highlighting Parameters
Up to this point, we’ve only looked at enabling highlighting and using default parameters to demonstrate core functionality. However, when deploying in production, we may be more selective with the fields that require highlighting, the tag to use before and after a highlighted term and choosing a specific highlighter based on our needs.
When choosing a highlighter, be conscious of index costs to store additional highlighting features. For example, besides the stored value, terms and positions (where the highlighted terms begin and end), the FastVector Highlighter also requires full term vector options on the field. Therefore, the speed of the search may affect execution time performance. See the Solr Highlighters section below for more information.
Snippets
By default, only one snippet is returned per field. The parameter hl.snippets controls the number of snippets that will be generated. For example, the default value of 1 returns the following:
When this value is increased to 3, additional snippets within the body_t will be highlighted:
Pre/Post Tags
Most commonly, an HTML tag will be used pre and post the highlighted term for the presentation layer. By default, the HTML tag used for pre is <em> and for post is </em>. In addition, depending on the chosen highlighter, the parameter will either be hl.tag. (Original Highlighter) or hl.simple. . Any string can be used for the respective pre or post parameters.
For example, if we wanted to change to a <strong> HTML tag, we configure the following parameters:
Note that the parameter value for an HTML tag must be escaped.
This would generate the following result:
The highlighting section of the Query Pipeline API response would also reflect this change:
... "highlighting": { "https://lucidworks.com/darkdata/": { "twitter_title_t": [ "Lucidworks | Dark <strong>Data</strong>" ], ...
Solr Highlighters
Solr features different highlighters such as the original or default highlighter, the unified (new as of Solr 6.4) and FastVector. Each one has tradeoffs between accuracy and speed. Depending on your workload and needs, you may want to evaluate each one to see the performance based on searches for items such as terms, phrases and wildcards.
For a complete guide on choosing an appropriate highlighter, see the Fusion documentation.
Zusammenfassung
Lucidworks Fusion provides a comprehensive workbench to configure and test highlighting of search terms within search results.
For further uses and configuration parameters, see the Fusion documentation.