• User

    Algoritmo per piccolo motore di ricerca

    Ciao a tutti,

    gradiremmo aggiungere un piccolo motore di ricerca all'interno del nostro sito e non vorremmo adoperare servizi esterni. Abbiamo la necessità di personalizzare il risultato di ricerca.
    

    Gradiremmo aggiungere una parte di programma interna.

    Qualcuno ha un link da suggerirci o del codice ASP.Net da scaricare da qualche parte?

    grazie molte a tutti


  • Moderatore

    Ciao, ma il motore di ricerca deve cercare le informazioni su un Database, su FileSystem, oppure sulle pagine web?


  • User

    Hai ragione, scusami sono stato precipitoso.

    Su Database. Mi serve un buon algoritmo di ricerca...

    Grazie per la risposta intanto


  • Moderatore

    Per alcuni DataBase esiste la possibilità di fare ricerche full-tex. Ad esempio per SQL Server di Microsoft a partire dalla versione 7:
    http://msdn.microsoft.com/it-it/library/cc185066.aspx

    Spero fosse questa l'idea, per gli altri DataBase dovrebbero esserci funzionalità analoghe ma non le conosco nel dettaglio...


  • User

    Si, io però cercavo qualche cosa relativa a codice sorgente tipo Linq o simili in .net

    Perdonami. Un cron service è uno schedulatore di eventi onlilne ?


  • Moderatore

    Se vuoi utilizzare Linq puoi partire dall'EntityFramework, ma forse non riesco a capire cosa intendi esattamente, non esiste un algoritmo per costruire una ricerca basata su un DataBase.
    Dipende in realtà dalla struttura del DB, che è sempre diverso, e dalle colonne che vuoi utilizzare nella ricerca.

    Piccolo esempio, immagina di avere un sito in cui vengono pubblicate le automobili usate di un concessionario. Un buon form di ricerca dovrebbe comprendere l'elenco delle Marche automobilistiche, due campi in cui definire il range di prezzo voluto, due campi data per indicare un range per la data di immatricolazione ecc...

    Se invece stiamo parlando di un sito di ricette di cucina, magari i filtri potrebbero essere l'elenco delle tipologia di portata, primo, secondo dolce... Un menù fatto di checkbox con tutti gli ingredienti principali da selezionare (multi opzione), due campi per definire un range di tempo di preparazione, ecc...

    Se facciamo un altro esempio qualsiasi è molto probabile che spunteranno nuove tipologie di campi o di selezione...

    Quindi o continuo a non capire oppure se i presupposti sono simili agli esempi fatti non puoi trovare un "algoritmo" di ricerca fatto e finito per qualsiasi situazione...

    PS: il cron service che trovi sul mio sito è possibile utilizzarlo ad esempio nel caso il provider che ospita il tuo sito non supporti nativamente il Cron o l'analogo servizio di windows Task Scheduler.
    ArtCava WebScheduler si configura indicando una pagina web da chiamare ad intervalli di tempo prestabiliti, poi nella pagina web puoi eseguire le routine che ti servono.
    In più ArtCava legge il contenuto della pagina web, che deve contenere un determinato tag, all'interno del quale puoi inserire il log della tua routine.


  • User

    grazie per l'aiuto.

    Mi spiego meglio cosa voglio ottenere.

    Su Pagina Impresa vogliamo includere un motore di ricerca proprietario e minimale.

    Attualmente abbiamo google ma vorremmo metterne uno specializzato.
    Ora, il nostro è un network di imprese e vorremmo che se l'utente scrivesse "Pizzeria" al posto di "Pizzerie" e viceversa vengano comunque filtrati tutti i record di pizzerie etc.

    Insomma una ricerca tipo denominazione like %pizzeri? o cose simili pero con un meccanismo tipico da motore di ricerca.

    In poche parole una ricerca full text tra le denominazione, città e categorie aziende. Il tutto senza rifare google e senza dover perdere mille anni...

    Grazie comunque per tutto l'aiuto manifestato...


  • Moderatore

    Ok, adesso mi è più chiaro: quello di cui avete bisogno è una ricerca semantica, molto più vicina ai motori di ricerca che però non utilizzano database relazionali ma NOSQL.

    Credo che i passi da fare siano veramente molti, non immediati e decisamente onerosi... La ricerca di google è però personalizzabile nei colori ed altro, potrebbe essere una strada...


  • User

    mi è molto buona la ricerca di google (che attualmente abbiamo), ma c'è la pubblicità nella versione free, non è pilotabile, il tipo di risultato non è visualizzabile come vogliamo ed altro...

    Pensi che in giro non ci sia un algoritmo che permetta di ovviare? l'unico link che ho trovato è questo www codeproject com/Articles/310880/Csharp-Simple-Search-Class

    ma ancora aspetto l'email di risposta per scaricare il sorgente...

    Se hai maggiori info ti ringrazio, anzi, pagina impresa ti ringrazia per la collaborazione e ti aggiungerà nelle citazioni e ringraziamenti nella parte bassa del sito


  • Moderatore

    Wow grazie!

    Comunque il costo di per sè del motore a pagamento di google non è poi proibitivo (100$ annui fino a 20000 ricerche), la parte grafica è completamente customizzabile e credo che con le API si possa gestire anche la presentazione dei dati...

    https://developers.google.com/custom-search/docs/xml_results

    Ho scaricato i sorgenti della Simple Search, quando ho un attimo di tempo ci do un occhio, ormai sono curioso...


  • User

    Grazie artcava, no. Google è costoso. con 100 dollari (che per un servizio gratuito sono tanti) si fanno appena 20.000 ricerche che sono poche... Il problema è fondamentalmente questo. Attualmente facciamo quasi 22.000 pagine al mese che significano quasi 300.000 pagine l'anno che sono molto lontane dalle 20.000 con 100 $ ... In ogni caso eravamo proprio intenzionati a customizzare all'estremo il risultato di ricerca (con il logo dell'azienda, etc.)


  • Moderatore

    Beh, allora o semantica, per la quale vi segnalo una tesi di laurea interessante:
    http://amslaurea.unibo.it/3750/1/ammar_randy_tesi.pdf

    Oppure un motore classico con un po' di Regular Expressions...


  • User

    grazie molte. Darò un occhiata a quella tesina. Ti tengo informato circa gli sviluppi