Possono esserci diversi approcci con diversa complessità di implementazione.
Il più semplice è quello di creare elenco di argomenti (come l'impianto idraulico), collegare sacco di parole (come "pipe"), identificare richiesta di ricerca a maggioranza di parole chiave e cercare solo nella argomento specificato (è possibile aggiungere campo topic
per i documenti di ricerca elastica e impostarlo come obbligatorio con +
durante la ricerca).
Naturalmente, se avete un sacco di documenti, creazione manuale di elenco di argomenti e la borsa di parole è molto tempo costoso. È possibile utilizzare l'apprendimento automatico per automatizzare alcune delle attività. Fondamentalmente, è sufficiente avere una misura della distanza tra parole e/o documenti per scoprire automaticamente gli argomenti (ad esempio tramite clustering di dati) e classificare la query su uno di questi argomenti. La combinazione di queste tecniche può anche essere una buona scelta (ad esempio, è possibile creare manualmente argomenti e assegnare loro i documenti iniziali, ma utilizzare la classificazione per l'assegnazione della query). Dai uno sguardo all'articolo di Wikipedia su latent semantic analysis per capire meglio l'idea. Prestare attenzione anche ai 2 articoli collegati su data clustering e document classification. E sì, Maui Indexer può diventare in questo modo un valido strumento di supporto.
Infine, puoi provare a creare un motore che "capisca" il significato della frase (non solo usa termini frequenza) e cerca argomenti appropriati. Molto probabilmente, ciò comporterà l'elaborazione di linguaggio naturale e knowledge base basata su ontologia. Ma in realtà, questo campo è ancora in ricerca attiva e senza esperienza precedente sarà molto difficile per te implementare qualcosa di simile.