Ich bin neu bei Solr.Solr Suche mit einer einzigen runden Klammer funktioniert nicht
Ich versuche nach Datensätzen zu suchen, die einzelne runde Klammern entweder '(' oder ')' enthalten.
Die Abfrage für den Datensatz zu suchen ist wie folgt:
q=((name: (*\(abc*)))
Die obige Abfrage bricht die Suche solr.
Ich bin entkommen das Zeichen() durch die folgende regex:
value = value.replace(/([()])/g, '\\$1');
Kann jemand bitte helfen, dieses Problem zu beheben?
Grundsätzlich suchen nach enthält Abfrage mit Klammern. –
Was meinen Sie mit "breaks the solr search"? Absturz, Fehler, null Treffer? Die Abfrage, die @Persimmonium vorschlägt, ist in Ordnung, also könnte Ihr Problem sein, dass Ihr Analysator Klammern entfernt. Überprüfen Sie dies, indem Sie eine 'name: known \) Wortsuche ausführen, gefolgt von' name: known \) word * '. Wenn der letzte keinen Treffer liefert, entfernt Ihr Analysator wahrscheinlich ')'. Sie können dies auch über _Analysis_ in der GUI tun, was Ihnen mehr sagt (und möglicherweise verwirrender ist). –
Wie ich von Ihrer Frage verstehe, brauchen Sie nur '(' oder ')' nicht beides. Die folgende Abfrage würde dem Zweck 'name: * \ (* OR name: * \) * NOT name: * \ (* \) *' dienen –