Erstellen Sie Solr-Vorschläge basierend auf Sätzen statt des gesamten Feldwerts

9

Ich habe eine Solr-Instanz mit einer Suggester-Komponente. Es funktioniert gut, mit der AnalyzingInfixLookupFactory Implementierung.

Ich möchte jedoch die Vorschläge auf ein content -Feld erweitern, das sehr viel Text enthalten kann. Der Suggester findet zwar Vorschläge, gibt aber den gesamten Feldwert zurück, anstatt nur einen Satz oder einen Teil eines Satzes.

Also, wenn ich einen Vorschlag für "foo" haben möchte, und das content -Feld enthält einen Text wie:

"Ich mag wirklich Pizza. Und Donuts. Lassen Sie uns einige von diesem anderen Ort. Die foo Bar Ort."

Der Vorschlag ist, dass gesamter Text anstatt nur "The foo bar place" ist. Und wenn content hunderte von Wörtern lang ist, ist das natürlich nicht usabe.

Gibt es eine Möglichkeit, die Anzahl der zurückgegebenen Wörter für einen Vorschlag zu begrenzen?

Hier ist meine Suchkomponente:

%Vor%

Und hier ist der Request-Handler:

%Vor%

Schließlich ist hier das Feld, von dem die Vorschläge abgeleitet sind:

%Vor%

Ich benutze dann eine Menge <copyField> s, um den Inhalt zu kopieren.

BEARBEITEN 2015-08-28

Die content -Felddefinition lautet wie folgt:

%Vor%

BEARBEITEN 2016-09-28

Dieses Problem hängt wahrscheinlich zusammen: Kann Solr SuggestComponent Schindeln anstelle von ganzen Feldwerten zurückgeben?

    
wadmiraal 14.08.2015, 15:20
quelle

1 Antwort

1

Ich denke, nach was Sie suchen könnten, ist solr.ShingleFilterFactory , was einfach erlaubt, die Token-Größe basierend auf der Anzahl der Wörter zu begrenzen, anstatt Textlänge wie in solr.NGramFilterFactory Sie haben versucht zu verwenden.
Weitere Informationen finden Sie auf der SOLR-Wiki-Seite:
Ссылка

    
llesiuk 17.01.2016 12:37
quelle