2016-09-19 3 views
1

Ich habe folgenden Anwendungsfall: Ich möchte ein Feld für Autosuggest und für Volltextsuche mit "q" -Parameter verwenden Jetzt ist das Problem: Wenn ich Volltextsuche machen will und wählen Sie "_textS" oder " _textM" als Typ, dann funktioniert die Volltextsuche perfekt wortbasiert. Aber wegen der Tokenization, die für "* _textM" in solr stattfindet, bekomme ich nur 1 Kleinbuchstaben des ganzen Wortes, wenn ich mit "Eid/Suggest" Autosuggest mache. Wenn ich zum Beispiel "This is a value" als "_textS" indiziert habe, bekomme ich nur "this" für Autosuggest. Was ich als Autosuggest-Wert benötige, ist "Dies ist ein Wert".1 Feld: Autosuggest + Suche

Was ist der beste Weg, um dies anzugehen?

Antwort

1

Wenn Sie dasselbe Feld für Autosuggest sowie für die Suche verwenden möchten. Dann können Sie ein Kopierfeld dieses Felds mit einem anderen fieldType erstellen. Zum Beispiel Inhalt ist das Feld, das Sie für Autosuggest-Suche verwenden möchten.
Dann können Sie Inhalt als Volltextsuche verwenden und ein weiteres Feld content_suggest für Vorschläge erstellen, die das Inhaltsfeld mit verschiedenen fieldType kopieren.

<field name="content" type="_textS" indexed="true" stored="true"/> 
<field name="content_suggest" type="string" indexed="true" stored="true"/> 
<copyField source="content" dest="content_suggest"/> 
0

Ok. Warum würden Sie "copyField" anstelle von "DocValues" für diesen Anwendungsfall verwenden?