Ich nehme an, dass Ihr Feld ein TextField ist, standardmäßig sucht Solr eine unscharfe Suche in diesem Feld. Sie möchten Ihr Feld als Zeichenfeld einrichten und keinen Tokenizer hinzufügen, dann erhalten Sie eine exakte Übereinstimmung.
Sie können sogar die exakte Suche mit einer unscharfen Suche kombinieren und DisMax verwenden, um die relativen Gewichte zu erhöhen.
Beispiel (schema.xml):
<field name="name" type="string" indexed="true" stored="false" required="true" />
<field name="nameString" type="string" indexed="true" stored="false" required="true" />
<copyField source="name" dest="nameString"/>
Beispiel (solrconfig.xml):
<requestHandler name="accounts" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">dismax</str>
<str name="qf">
nameString^10.0 name^5.0 description^1.0
</str>
<str name="tie">0.1</str>
</lst>
</requestHandler>
Ist dies zur Abfragezeit mit einem speziellen Operator möglich? Wie = Steuern – mlissner
@mlissner, das obige XML ist einfach Standardparameter, die der Abfrage hinzugefügt werden. U könnte dies getan haben, indem Sie zu Ihrer Abfrage defType = dismax & qa = nameString^10.0 name^5.0 Beschreibung^1.0 usw. etc –
@ItayMoav hinzufügen, ist das Ziel, die * Benutzer * in der Lage sein, die genaue Übereinstimmung Abfrage zu platzieren. – mlissner