Ich verwende OrientDb 2.1.13.OrientDb Abfrage mit Lucene-Engine auf verknüpfte Klasse
Ich habe folgende Datenbankstruktur
Area extends V
---------------------------
Field Type
---------------------------
names LinkMap to AreaName
AreaName extends V
---------------------------
Field Type
---------------------------
language String
name String (with a Lucene Index on this field)
Und ich habe folgende Werte
Area
------------------------------
@rid names
------------------------------
#12:6025 {"en":"#13:6025"}
AreaName
------------------------------
@rid language name
------------------------------
#12:6025 en Africa
Ich habe versucht, Daten aus der Gegend extrahieren Sie die folgende Abfrage verwenden, aber nichts gewonnen wird.
1) select from Area where names.en.name lucene 'Africa*'
mit Anstatt der folgenden Abfrage kann ich Daten extrahieren (mit = statt LUCENE)
2) select from Area where names.en.name = 'Africa'
und auch diese Abfrage mit (so die Lucene-Engine arbeitet gut genutzt, wenn sie direkt):
3) select from Area where names.en in
(select from AreaName where name lucene 'Africa*')
Ich würde gerne wissen, welche der richtige Weg ist, um eine verknüpfte Klasse mit einem Feld indiziert mit Lucene abzufragen. Meine Fragen sind:
Ist ein Fehler, dass die Abfrage 1) nicht funktioniert?
Es ist notwendig, eine andere Syntax zu verwenden?
Oder der einzige Weg ist, eine Unterabfrage zu verwenden, wie in 3)?
Dies gilt nur für LUCENE oder für jede Art von Index verwenden müssen? –
Es ist gültig für jede Art von Index –