eine einfache Tabelle Betrachtet:Wie Dokument mit SOLR Abfrage und exakte Zeichenfolge Übereinstimmung finden
CREATE TABLE transactions (
enterprise_id uuid,
transaction_id text,
state text,
PRIMARY KEY ((enterprise_id, transaction_id))
und Solr Kern mit standardmäßig automatisch generierten Parameter.
Wie konstruiere ich eine Solr-Abfrage, die mich Datensätze in dieser Tabelle finden wird, die state
Wert genaue Übereinstimmung mit einem Eingang haben, unter Berücksichtigung der state
kann beliebiger String sein?
Ich versuchte dies mit Zustandswert a+b
. Dies funktioniert gut mit q=state:"a+b"
, aber das erzeugt eine „Phrase Abfrage“:
"rawquerystring": "state:\"a+b\"",
"querystring": "state:\"a+b\"",
"parsedquery": "PhraseQuery(state:\"a b\")",
"parsedquery_toString": "state:\"a b\"",
die gleiche Datensatz also gefunden, wenn ich Abfrage wie q=state:"a(b"
verwenden, die in die gleichen lautAbfrageErgebnisse und finden den Datensatz mit state
von a+b
. Das ist inakzeptabel für mich, weil ich eine genaue Übereinstimmung brauche.
Ich ging durch https://cwiki.apache.org/confluence/display/solr/Other+Parsers, und versuchte mit q={!term f=state}a+b
oder , aber keiner findet sogar meine Beispiel Transaktionsaufzeichnung.
'StrField' ist einfacher als mit einem tokenizer Ausmisten, ty :) –