2017-10-23 1 views
0

„Ich möchte fragen, um eine Probe zu vereinfachen. Ich habe 2 Felder in Schemata.Solr Mehrwertig Feld Detecting Sprache

<fieldType name="text_field" class="solr.TextField" positionIncrementGap="100" /> 
<field name="title" type="text_field" indexed="true" stored="true" multiValued="true"/> 
<field name="content" type="text_field" indexed="true" stored="true" multiValued="true"/> 

title und content Feld kehrt 2 Sprach Werte. 1. Türkisch, 2. Englisch

title:[ 
    "Orta Doğu Teknik Üniversitesi", 
    "Middle East Technical University" 
] 

content:[ 
    "Örnek içerik", 
    "Example content" 
] 

Problem

Als ich indizieren, ich will title und content Felder werden in title_tr, title_en und content_tr, content_en aufgeteilt.

Ich weiß, ich werde LanguageDetection verwenden, um die Sprache zu erkennen und zu aktualisieren. Aber ich weiß nicht, wie ich meine Bitte stellen soll.

Ich benutze Solr 4.9.0 Version.


<field name="title_en" type="text_field" indexed="true" stored="true" multiValued="true" /> 
<field name="content_en" type="text_field" indexed="true" stored="true" multiValued="true" /> 
<field name="title_tr" type="text_field" indexed="true" stored="true" multiValued="true"/> 
<field name="content_tr" type="text_field" indexed="true" stored="true" multiValued="true"/> 

<copyField source="title" dest="title_tr"/> 
<copyField source="content" dest="content_tr"/> 
<copyField source="title" dest="title_en"/> 
<copyField source="content" dest="content_en"/> 

möchte ich das Ergebnis:

title_tr:[ 
    "Orta Doğu Teknik Üniversitesi" 
] 

title_en:[ 
    "Middle East Technical University" 
] 

content_tr:[ 
    "Örnek içerik" 
] 

content_en:[ 
    "Example content" 
] 

Wie kann ich es tun?

+0

Verwenden Sie DataImportHandler? – Oyeme

+0

@Oyeme, Nö, ich benutze solr4j. @Oyeme – forguta

+0

, und ich habe den Endzustand vor Datenindizierung: 'Titel: [ "Orta Doğu Teknik Üniversitesi", "Middle East Technical University" ] Inhalt: [ "Örnek içerik", „Beispiel Inhalt " ]' – forguta

Antwort

0

Wenn Sie es Solr Seite lösen möchten, würde ich empfehlen, Ihren eigenen UpdateRequestProcessor [1] zu entwickeln.

Sie können dort implementieren Ihre Logik:

1) scannen jeden Wert aus dem Multi-Feld

2) identifizieren, die Sprache (Sie können von diesem UpdateRequestprocessor einen Blick auf den Ansatz [2]

3)

[1] https://lucene.apache.org/solr/guide/6_6/update-request-processors.html

[2] 01.230.687 ein Feld mit dem Wert text_ indiziert erstellen

Verwandte Themen