aboutsummaryrefslogtreecommitdiff
path: root/src/client/ClientRecommender.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/ClientRecommender.tsx')
-rw-r--r--src/client/ClientRecommender.tsx41
1 files changed, 15 insertions, 26 deletions
diff --git a/src/client/ClientRecommender.tsx b/src/client/ClientRecommender.tsx
index a37434c0d..83ca48590 100644
--- a/src/client/ClientRecommender.tsx
+++ b/src/client/ClientRecommender.tsx
@@ -191,7 +191,7 @@ export class ClientRecommender extends React.Component<RecommenderProps> {
* Uses Cognitive Services to extract keywords from a document
*/
- public async extractText(dataDoc: Doc, extDoc: Doc, internal: boolean = true, isMainDoc: boolean = false, image: boolean = false) {
+ public async extractText(dataDoc: Doc, extDoc: Doc, internal: boolean = true, api: string = "bing", isMainDoc: boolean = false, image: boolean = false) {
let data: string = "";
let taglist: FieldResult<List<string>> = undefined;
if (image) {
@@ -265,7 +265,7 @@ export class ClientRecommender extends React.Component<RecommenderProps> {
highKP = [sorted_keywords[0].text];
}
});
- values = await this.sendRequest(highKP, "bing");
+ values = await this.sendRequest(highKP, api);
}
return { keyterms: keyterms, external_recommendations: values, kp_string: [kp_string] };
};
@@ -320,38 +320,27 @@ export class ClientRecommender extends React.Component<RecommenderProps> {
});
}
else if (api === "bing") {
- await this.bingWebSearch(query);
- }
- else {
return new Promise<any>(resolve => {
- this.arxivrequest(query).then(resolve);
+ this.bingWebSearch(query).then(resolve);
});
}
+ else {
+ console.log("no api specified :(");
+ }
}
bingWebSearch = async (query: string) => {
- https.get({
- hostname: 'api.cognitive.microsoft.com',
- path: '/bing/v5.0/search?q=' + encodeURIComponent(query),
- headers: { 'Ocp-Apim-Subscription-Key': process.env.BING },
- }, (res: any) => {
- let body = '';
- res.on('data', (part: any) => body += part);
- res.on('end', () => {
- for (var header in res.headers) {
- if (header.startsWith("bingapis-") || header.startsWith("x-msedge-")) {
- console.log(header + ": " + res.headers[header])
- }
- }
- console.log('\nJSON Response:\n');
- console.dir(JSON.parse(body), { colors: false, depth: null });
- })
- res.on('error', (e: any) => {
- console.log('Error: ' + e.message);
- throw e;
+ const converter = async (results: any) => {
+ let title_vals: string[] = [];
+ let url_vals: string[] = [];
+ results.webPages.value.forEach((doc: any) => {
+ title_vals.push(doc.name);
+ url_vals.push(doc.url);
});
- });
+ return { title_vals, url_vals };
+ };
+ return CognitiveServices.BingSearch.Appliers.analyzer(query, converter);
}
/**