In un'installazione SOLR, quando eseguo una ricerca su un campo con un termine di ricerca di più parole, voglio che SOLR restituisca i documenti che hanno tutti i termini nella ricerca, ma non è necessario essere nell'ordine esatto.Solr - Risultati che contengono tutti i termini, in qualsiasi ordine
Ad esempio, se cerco il titolo di Brown Chicken Brown Cow, voglio trovare tutti i documenti che contengono tutti i termini Brown, Chicken e Cow, indipendentemente dall'ordine nel campo del titolo. Quindi, ad esempio, il titolo "La gallina e la mucca hanno la cacca marrone" dovrebbe corrispondere alla domanda. AFAIK, questo è il modo in cui Google esegue anche le ricerche.
Ho sperimentato con i seguenti formati di query:
1. Title:Brown AND Title:Chicken
2. Title:Brown AND Chicken
3. Title:Brown+Chicken
Sono molto confuso dai risultati. In alcuni casi, le prime due query restituiscono lo stesso insieme esatto di risultati. In altri casi, la prima versione restituirà molti risultati e la seconda versione non restituirà alcun risultato. La terza versione sembra soddisfare i miei bisogni, ma sono confuso dal diverso significato delle query.
Tutti i miei test sono stati eseguiti su un campo di tipo text_it.
<field name="Title" multiValued="false" type="text_en" indexed="true" stored="true"/>
Quindi, qual è la migliore query SOLR/configurazione per questo tipo di ricerca? Inoltre, c'è un modo semplice per fare in modo che Solr.NET utilizzi un termine di ricerca immesso dall'utente e lo converta in questo tipo di formato?
Inoltre, SOLR di default darà ai documenti che corrispondono all'ordine della frase di ricerca un punteggio di pertinenza più elevato? In caso contrario, quali sono le leve giuste per attuare ciò?
Modifica: Parte della mia confusione è stata causata dalla ricerca di campi non predefiniti vs campi predefiniti. Sapendo questo, l'unico formato che funziona in modo coerente è il primo formato.
Per favore [non aggiungere firme o tagline ai tuoi messaggi] (http://stackoverflow.com/faq#signatures). – meagar