Ich verwende DSE Solr, um eine Cassandra-Tabelle zu indizieren, die eine Sammlung von UDTs enthält. Ich möchte Suchergebnisse basierend auf einem Wert innerhalb dieser UDTs sortieren können.Sortieren von Solr-Antwort nach Wert in Filialdokumentsammlung
ein einfaches Beispiel Tabelle ...
create type test_score (
test_name text,
percentile double,
score int,
description text
);
create table students (
id int,
name text,
test_scores set<frozen<test_score>>,
...
);
... und unter der Annahme, ich bin das solr Schema über dsetool
Auto-Generierung, ich möchte eine solr Abfrage schreiben können, die die Schüler findet habe einen Test (nach einem bestimmten test_name) genommen und nach dem Ergebnis des Tests (oder Perzentil oder was auch immer) sortiert.
Ich habe dies zu tun versucht: wählen q = studends.test_scores {Tupel!}: "Einige Test" % 20_val_: test_scores.percentile & sort = Partitur und ich bekomme diese Fehlermeldung: "msg": "Kind Abfrage nur nicht-Mutter docs übereinstimmen müssen, aber Eltern docID = 2.280.392 angepasst childScorer = class org.apache.lucene.search.DisjunctionSumScorer", "Spur": "java.lang.IllegalStateException: Die untergeordnete Abfrage darf nur nicht übergeordnete Dokumente abgleichen, aber übergeordnete docID = 2280392 entspricht childScorer = Klasse ... aber ich weiß nicht, was ich damit machen soll. –