Domanda

Hey ragazzi, Nel tentativo di implementare alcune funzionalità di ricerca per un'applicazione sono state scrivendo.

Solr 1.4.1 in esecuzione su Tomcat7 connessione JDBC a un MS SQLServer con la vista im indicizzazione Solr ha indicizzazione finito e l'indice sta lavorando.

Per cercare e comunicare con Solr ho creato un piccolo servizio di prova WCF (da realizzare con il nostro servizio principale in seguito).

Lo scopo è quello di realizzare un campo di testo nella nostra applicazione principale. In questo campo di testo gli utenti possono iniziare a digitare qualcosa come pennello e gradualmente filtro attraverso l'elenco di oggetti come personaggi sempre più sono di ingresso.

Questo sta lavorando bene e dandy con Solr fino ad un certo punto. Im utilizzando il carattere jolly asterisco alla fine della mia interrogazione e come tale im gettando un sacco di domande come p * papà* dolore* vernice *

ecc. sul server e dei suoi risultati di ritorno più che bene (abbastanza straordinariamente veloce in realtà). L'unico problema è che una volta che l'utente digita la parola intera la query è pennello * a che restituisce punto Solr 0 risultati.

Così sembra che interrogazione + jolly può essere solo di query + qualcosa e non di query + niente

Sono riuscito ad ottenere questo lavoro sotto Lucene.Net ma Solr isnt fare le cose nello stesso modo che sembra.

Qualche consiglio potete darmi sull'implementazione di tale caratteristica?

non c'è molto codice da guardare in quanto im utilizzando SolrNet: http://pastebin.com/tXpe4YUe

Immagino che abbia qualcosa a che fare con l'analizzatore e Parser, ma im non ancora che in Solr per sapere dove guardare:)

È stato utile?

Soluzione 2

Stemming sembra essere quello che ha causato il problema. Ho fissato utilizzando un clone di text_ws al posto del testo per il tipo. Le mie modifiche scema.xml: http://pastebin.com/xaJZDgY4

Stemming è disabilitata e minuscole indicizzazione è abilitato. Fino a quando tutte le query sono in minuscolo dovrebbero sempre dare risultati (se lì a tutti).

problema sembra essere che gli analizzatori di lavoro Dont con caratteri jolly, quindi la logica che renderebbe Johnny il risultato di Johni o Johnni è "spezzato" quando si utilizzano i caratteri jolly.

Se i problemi che affrontano la classica e la mia soluzione qui doesnt piuttosto lavorare è possibile aggiungere debugQuery = alla stringa di query e vedere un po 'di più su cosa sta succedendo. Che mi ha aiutato circoscrivere il problema.

Altri suggerimenti

Non sarebbe implementare i suggerimenti con prefisso jolly query in Solr. Ci sono altri meccanismi più adatti a tale scopo. Vedi:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top