Stiamo usando Lucene per la ricerca come parte di Sitecore. Esiste un metodo per ignorare le parole di arresto (come a, an, the ...) nella ricerca sitecore?parole stop a Sitecore
risposta
Per impostazione predefinita, Sitecore utilizza Lucene Analyzer Standard - Lucene.Net.Analysis.Standard.StandardAnalyzer
. Puoi vedere che questo è definito nell'elemento /configuration/sitecore/search/analyzer
del file web.config. Uno dei costruttori della classe StandardAnalyzer
accetta la matrice di stringhe che prenderà in considerazione le parole di arresto. Di default utilizza l'elenco hardcoded di parole stop che includono:
"a", "an", "e", "sono", "come", "a", "essere", "ma " "con", "per", "se", "in", "in", "è", "it", "no", "no", "di", "on"," o " "come", "che", "il", "loro", "poi", "là", "questi", "loro", "questo", "a", "era"," sarà ", 'con'
Se vuoi ignorare questo comportamento, penso che si dovrebbe ereditare StandardAnalyzer
e sovrascrivere il costruttore di default a prendere alla fermata w ords da un'altra fonte invece della matrice hardcoded. Hai varie opzioni, anche leggendo da un file di testo. Non dimenticare di sostituire la classe standard con la tua in web.config.
Vedi gli altri costruttori di StandardAnalyzer
classe per maggiori dettagli. .NET Reflector è tuo amico qui.
Grazie .. se puoi condividere il cuore del codice .. – rahul
Cosa intendi? Il codice di riferimento I nella risposta sopra è inserito in Lucene.Net.dll (nella cartella Sitecore/bin). Puoi sfogliare questa libreria di terze parti con .NET Reflector. Quello che mi propongo di fare nel tuo caso è creare una nuova classe, ereditarla da StandardAnalyzer e fare in modo che il costruttore predefinito cerchi le parole di stop in un altro modo (nel modo in cui scegli tu). Ci sono esempi di questo nel codice di altri costruttori della classe StandardAnalyzer. –
BTW, Alex Shyba ha appena pubblicato un post sul blog straordinaria sintesi sulla ricerca con Sitecore e Lucene: http://sitecoreblog.alexshyba.com/2011/02/8-reasons-to-use-new-search-in-sitecore. html. Questo post è anche pieno di link utili a varie risorse sull'argomento. Assicurati di controllare prima di andare avanti in questa zona! –
Un esempio per Yans postale:
public class CaseAnalyzer : Lucene.Net.Analysis.Standard.StandardAnalyzer
{
private static Hashtable stopWords = new Hashtable(); //{{"by","by"}}; <-- Makes "by" a stopword that will not be matched in analyzer
public CaseAnalyzer() : base(Lucene.Net.Util.Version.LUCENE_29, stopWords)
{
}
}
questo dovrebbe essere registrato nel web.config sotto
/configuration/sitecore/search/analyzer
un esempio della registrazione analizzatore
<caseanalyzer type="EBF.Business.Search.Analyzers.CaseAnalyzer, EBF.Business, Version=1.0.0.0, Culture=neutral"/>
Infine si Basta registrare l'analizzatore nella configurazione di ricerca come thi s
<Analyzer ref="search/caseanalyzer" />
- 1. Stop a thread Python
- 2. Python rimuove le parole di stop da pandas dataframe
- 3. Formato Sitecore Data utilizzando Sitecore(). Field()?
- 4. Sitecore: loginPage?
- 5. Sitecore - Assert.IsNotNull
- 6. Stop Spinner.js
- 7. Accedi alle impostazioni del sitecore a livello di codice (Sitecore 6)
- 8. Sitecore - riscrittura “_” a “-” negli URL ma andando a 404
- 9. Stop setInterval
- 10. Ottimizzazione delle prestazioni Sitecore - Configurazioni Sitecore, configurazioni IIS
- 11. Tokenizer, Stop Word Removal, Stemming in Java
- 12. Sitecore nasconde il database web dal desktop del sitecore
- 13. Sitecore 7 pdf indicizzazione
- 14. Pacchetto Sitecore generaton
- 15. Utilizzo di scandole e parole di stop con Elasticsearch e Lucene 4.4
- 16. Sitecore e ASP.net MVC
- 17. Sitecore Content Albero Architettura
- 18. DMS Sitecore in Azure
- 19. tracciamento NullReferenceExceptions in Sitecore
- 20. Sitecore Solr Loadbalancing
- 21. BeginRenderLink Sitecore vetro Mapper
- 22. Cambio password forzata Sitecore
- 23. Best practice Sitecore
- 24. Sitecore Get Rendered Html
- 25. Sitecore ripetutamente commettere
- 26. Sitecore 6.5 con MVC3
- 27. Stop Pulsate jQuery Effect
- 28. stop effect in cocos2d?
- 29. C# stop e continuare
- 30. Stop Erlang Daemon
A cosa serve questo? Se cerchi ** il gatto con il cappello **, vuoi veramente cercare come se fossi entrato in ** cat hat **? O vuoi dire filtrarli nei risultati? –