C'è un'API open per ottenere argomenti simili in Discourse?

I need a api that give me similar topics.
My requirement - If i have a topic title then i will get the similar topics.

You will see that if you request the JSON for a topic, it has a section called suggested_topics.

https://meta.discourse.org/t/144806/2.json:

image

From title to topic ID can be done using search:

https://meta.discourse.org/search.json?q=title%3A%22Is%20there%20is%20any%20open%20API%20for%20getting%20similar%20topic%20in%20discourse%22&page=1

image

6 Mi Piace

I think you should use: so that related articles are related to each other. From title to topic ID can be done using search:

Its working on meta.discourse but not on my forum. Our forum is forum.crio.do
If i will forum.crio.do/t/8497/2.json then no result was there

That seems like a private community so unauthenticated requests will not return any data. It works on Meta using https://meta.discourse.org/t/144806/2.json because the content is publicly viewable.

See Discourse REST API Documentation and Use the Discourse API ruby gem for more info on authenticating your requests with an api_key and api_username.

1 Mi Piace

That specific topic only has one post so there is no post 2.
It needs to be https://forum.crio.do/t/8497/1.json

You can always use t/<topic_id>/1.json

And indeed, you need to use an API key since you have a closed community.

2 Mi Piace

Funzionerebbe in qualche modo anche per un testo arbitrario passato da una fonte esterna? In altre parole, posso utilizzare la funzione esistente di ricerca per similarità per restituire un elenco di argomenti esistenti potenziali basati sul testo fornito all’API, invece che su un argomento reale ed esistente che deve essere specificato?

Scusa se è una domanda stupida. Non sono uno sviluppatore, ma sto cercando di raccogliere alcune informazioni prima di parlare con uno per una richiesta di funzionalità che sto valutando. L’idea è collegare, ad esempio, Intercom (anche se in questo caso un’alternativa open source) a un forum Discourse, in modo che quando qualcuno digita una domanda nella chat, il sistema possa cercare potenziali corrispondenze di argomenti su Discourse e proporle come possibili luoghi dove trovare le risposte o indirizzare le proprie domande. Simile a come Intercom può già accedere a una knowledge base per fornire risposte potenziali.

Beh, tutto ciò che è in Discourse può essere automatizzato perché Discourse è un’applicazione JavaScript, non una tradizionale “pagina web”. In questo caso, dovresti replicare le azioni dell’interfaccia utente che esegui dalla pagina di ricerca avanzata, come segue:

1 Mi Piace

Sì, pensavo potesse essere così. Quindi, essenzialmente, la funzionalità Argomenti Simili nell’anteprima del compositore è come una normale Ricerca, ma passando il contenuto dell’argomento dell’utente come criteri di ricerca?

Nel mio caso d’uso, passerei il contenuto del messaggio dell’utente alla funzione di Ricerca normale e restituirei X risultati come argomenti potenzialmente pertinenti? (la terminologia che sto usando potrebbe non essere del tutto corretta qui, ho solo bisogno di sapere se l’idea di base è corretta :grinning_face_with_smiling_eyes:)

1 Mi Piace

Utilizza l’ispettore web come descritto in quell’argomento per monitorare cosa accade mentre scrivi nel compositore e attivi la finestra di dialogo con gli argomenti simili suggeriti.

Credo che sia sostanzialmente diverso dalla “ricerca normale” del sito, in quanto contrassegna la ricerca come “dammi qualsiasi cosa che corrisponda a una di queste, e usa la frequenza o più corrispondenze, ecc. per ordinare i risultati”.

2 Mi Piace

Grazie! Ho fatto qualche test prima della tua risposta e ho notato che i risultati della ricerca e quelli sui temi simili differivano un po’, quindi è interessante. Queste informazioni dovrebbero essere sufficienti per convincere il gruppo con cui sto discutendo a scegliere Discourse.