Ho un database di URL che vorrei cercare. Poiché gli URL non sono sempre scritti allo stesso modo (può o non può avere www), sto cercando il modo corretto per gli URL di indice e di query. Ho provato un paio di cose, e penso di essere vicino, ma non so perché non funziona:URLing e interrogazione URL in Solr
Qui è il mio tipo di campo personalizzato:
<fieldType name="customUrlType" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Ad esempio:
http://www.twitter.com/AndersonCooper quando indicizzati, avrà le seguenti parole in diverse posizioni: http, www, twitter, com, Anderson Cooper
Se cerco semplicemente twitter.com/andersoncooper~~V~~singular~~3rd, vorrei questa query per abbinare il record che è stato indicizzato , ed è per questo Io uso anche la WDF per dividere la query di ricerca, , ma la query di ricerca finisce per essere così:
myfield :("twitter com andersoncooper") quando veramente vuole che corrisponda a tutti i record che hanno tutti i seguenti distinti parole: twitter com andersoncooper
Esiste un filtro o un tokenizzatore di query diversi che dovrei utilizzare?
hai mai finito per risolvere questo? – Cyrus
Hai capito cosa dobbiamo fare qui? –