wenn Sie jeden keryword wollen als #keyword suchen, dann können Sie versuchen, mit OR-Operator in Abfrage wie
/select?q="IPL" OR "#IPL"
, wenn Sie in bestimmten Feld suchen möchten dann
/select?q=title:"IPL" OR title:"#IPL"
Sie können versuchen, mit Synonymen. Aber in diesem Fall ist es nur # vorangestellt.
gehen Sie zu Ihren Konfigurationsdateien der Solr-Instanz. Innerhalb des Conf-Ordners bearbeiten Sie die Datei synonyms.txt.
IPL => #IPL
ODER
Änderung Ihrer Abfragefeld tokenizer in schema.xml Datei,
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
dann mit Feldnamen abfragen /select?q=text:#IPL
da in solr Text ist Standard können Sie einfach versuchen /select?q=#IPL
Ich möchte dies für alle Suchbegriffe nicht nur IPL tun. Wie konfiguriert man so in synonyms.txt? – Babu
Ihr Abfragebegriff wird in Token umgewandelt. solr.StandardTokenizerFactory löscht # von Ihrem Keyword. – vinod
ist mit whitespacefactory \t \t < Filter class = "solr.LowerCaseFilterFactory" /> \t \t \t \t –
Babu