Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51

    [JAVA/JSP] creare query nella sintassi lucene

    ciao ragazzi, ho una pagina jsp dove eseguo delle query con lucene. tutto ok. L'unico problema sono le query composte.
    c'è un metodo che mi trasformi una query del tipo:

    valore1 AND valore2 OR valore3 (effettuata nel campo "campo1")

    nella sistassi lucene:

    +campo1:valore1 +campo1:valore2 campo1:valore3



    Spero di essere stato chiaro...
    grazie
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  2. #2
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    Potete darmi una mano allora a creare un metodo che dato in input due stringhe
    metodo(String string1 String string2)
    Dove string1 è una roba del genere:
    valore1 AND valore2 OR valore3 NOT valore4
    mi restituisce una altra stringa di questo tipo:

    +string2:valore1 +string2:valore2 string2:valore3 -string2:valore4
    Grazie...
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    21
    Ciao, purtroppo non ti so rispondere. Però, siccome ho visto che tu utilizzi Lucene, avrei una domanda da farti.
    Se non ho capito male è un motore di ricerca giusto?
    Lo avrei voluto utilizzare anche io per realizzare un motore di ricerca per il sito intranet aziendale che ho realizzato in html + jsp; non ci sono riuscita e ho trovato un package free, jse, con cui fare la cosa.
    Però la cosa non mi soddisfa molto.... Potresti darmi un po' di informazioni, o indicarmi dove reperire documentazione, per configurare Lucene?

    Ti ringrazio in anticipo!

  4. #4
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    Tutto quello che mi serviva [o quasi] l'ho trovato qua
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  5. #5
    ho appena finito di sviluppare una motore di ricerca per un'applicazione utilizzando lucene, ho avuto lo stesso problema anche io, e l'ho risoltograzie ai contributi esterni al progetto:
    se controlli tra i sorgenti di lucene, ti accorgerai che c'e' una cartella contrib, al suo interno ci sono dei package e una serie di altre util, tra queste cartelle c'e' anche una cartella javascript, al suo interno c'e' quello che fa al caso tuo...
    La vita sarebbe piu' facile se avessi il codice sorgente!

  6. #6
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    si ho visto...si chiama Lucene Javascript Query Constructor
    L'interfaccia è simile a Google's Advanced Search. Per me è un po' diverso...
    L'utente insersce una query tipo:
    valore1 AND valore2 OR valore3 (nel campo desiderato)
    ed dovrei trasformarla in
    +campoScelto:valore1 +campoScelto:valore2 campoScelto:valore3
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  7. #7
    Originariamente inviato da hdtogo
    si ho visto...si chiama Lucene Javascript Query Constructor
    L'interfaccia è simile a Google's Advanced Search. Per me è un po' diverso...
    L'utente insersce una query tipo:
    valore1 AND valore2 OR valore3 (nel campo desiderato)
    ed dovrei trasformarla in
    +campoScelto:valore1 +campoScelto:valore2 campoScelto:valore3
    quindi il tuo form di ricerca non è un input text singolo come google... ma una serie di input puntuali che vengono associati al field nel quale vuoi ricercare la parola... giusto?
    La vita sarebbe piu' facile se avessi il codice sorgente!

  8. #8
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    Originariamente inviato da zip2k
    quindi il tuo form di ricerca non è un input text singolo come google... ma una serie di input puntuali che vengono associati al field nel quale vuoi ricercare la parola... giusto?

    la parola o le parole con query composte del tipo
    valore1 AND valore2
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  9. #9
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    cmq giusto quello che avevi detto
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  10. #10
    e se invece di avere piu' input, ne utilizzi una sola, e per creare la query utilizzi la classe MultiFieldQueryParser...?

    la classe MultiFieldQueryParser exstende QueryParser quindi ha un metodo:

    setDefaultOperator

    public void setDefaultOperator(QueryParser.Operator op)

    Sets the boolean operator of the QueryParser. In default mode (OR_OPERATOR) terms without any modifiers are considered optional: for example capital of Hungary is equal to capital OR of OR Hungary.
    In AND_OPERATOR mode terms are considered to be in conjuction: the above mentioned query is parsed as capital AND of AND Hungary

    tu in fase di ricerca quando nella stringa cercata trovi AND fai un setDefaultOperator(multiFieldQueryParser.AND_OPERA TOR)
    invece quandop trovi OR fai un
    setDefaultOperator(multiFieldQueryParser.OR_OPERAT OR)

    prova cosi'...
    La vita sarebbe piu' facile se avessi il codice sorgente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.