Quando uso Luke per cercare il mio indice Lucene utilizzando un analizzatore standard, posso vedere il campo I am search per contiene valori del modulo MY_VALUE. Quando cerco il campo: "MY_VALUE", tuttavia, la query viene analizzata come campo: "il mio valore"Lucene ricerca e trattini bassi
Esiste un modo semplice per sfuggire al carattere di sottolineatura (_) in modo che venga cercato?
EDIT:
4/1/2010 11:08 PM PDT
Penso che ci sia un bug nel tokenizzatore per Lucene 2.9.1 e fu probabilmente lì prima. Caricare fino Luca e provare a cercare "BB_HHH_FFFF5_SSSS", quando v'è un numero, i seguenti token vengono restituiti:
"bb hhh_ffff5_ssss"
Dopo qualche test, ho trovato che questo è causa di il numero. Se io ingresso
"BB_HHH_FFFF_SSSS", ottengo
"bb HHH ffff ssss"
A questo punto, sto appoggiato verso un bug tokenizzatore a meno che non si suppone la presenza del numero di avere questo comportamento ma non riesco a capire perché.
Qualcuno può confermarlo?
No, ho usato l'analizzatore standard come l'indicizzatore che è il motivo per cui questo è strano. – Matt
Se si esegue l'indicizzazione con lo Standard Analyzer, l'indice conterrà "my" e "value" come due token diversi. Prova a cercare "il mio valore" (comprese le virgolette) e potresti ottenere risultati. – Thomas
Vorrei ricontrollare quale analizzatore stai usando per l'indicizzazione. Se hai utilizzato StandardAnalyzer per l'indicizzazione, è impossibile avere MY_VALUE come termine, poiché StandardAnalyzer si divide sempre in caratteri di sottolineatura. – bajafresh4life