Changeset 31614 for other-projects/hathitrust/wcsa
- Timestamp:
- 2017-04-20T18:17:56+12:00 (7 years ago)
- Location:
- other-projects/hathitrust/wcsa/extracted-features-solr/trunk/web-portal
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
other-projects/hathitrust/wcsa/extracted-features-solr/trunk/web-portal/index.js
r31613 r31614 59 59 } 60 60 61 function stream_generate_item(line,id,title)62 {63 var css_class = (line%2 == 0) ? 'class="evenline"' : 'class="oddline"';64 65 var html_item = "";66 67 68 var babel_url = "https://babel.hathitrust.org/cgi/pt?id="+id+";view=1up;seq="+1;69 70 html_item += '<p ' + css_class + '>';71 //html_item += ' <span style="font-style: italic;" name="'+id+'"></span><br>';72 html_item += '<a target="_blank" href="' + babel_url + '">' + id + ': ' + title + '</a>';73 html_item += '</p>';74 75 return html_item;76 }77 78 79 61 function generate_item(line,id,id_pages) 80 62 { … … 126 108 } 127 109 128 function stream_show_results(jsonData) {129 var docs = jsonData["result-set"].docs;130 var num_docs = docs.length -1;131 132 $('.search-in-progress').css("cursor","auto");133 134 var $search_results = $('#search-results');135 136 if (num_docs>0) {137 $search_results.html("<p>Results: " + num_docs + " volumes matched</p>");138 /*139 var from = parseInt(store_search_args.start);140 var to = from + num_rows;141 $search_results.append("<p>Showing matches: "+from+"-" + to + "</p>");142 */143 }144 else {145 $search_results.html("<p>No volumes matched your query</p>");146 }147 148 for (var i=0; i<num_docs; i++) {149 var doc = docs[i];150 var id = doc.id;151 var title = doc.title_t;152 153 var html_item = stream_generate_item(i,id,title);154 $search_results.append(html_item);155 }156 return;157 // ****158 159 var htids = [];160 161 var prev_id = null;162 var prev_pages = [];163 164 var i=0;165 var line_num = 0;166 while (i<num_docs) {167 // for (var i=0; i<num_docs; i++) {168 var doc = docs[i];169 var id_and_page = doc.id.split(".page-");170 var id = id_and_page[0];171 var seqnum = parseInt(id_and_page[1]) +1; // fix up ingest error172 //var page = seqnum+1;173 //var page = seqnum-1;174 var page = seqnum;175 176 if ((prev_id != null) && (id != prev_id)) {177 // time to output previous item178 var html_item = generate_item(line_num,prev_id,prev_pages);179 $search_results.append(html_item);180 line_num++;181 prev_pages = [page];182 }183 else {184 // accumulate pages185 prev_pages.push(page)186 }187 188 htids.push("htid:"+id);189 190 prev_id = id;191 i++;192 }193 194 var html_item = generate_item(line_num,prev_id,prev_pages);195 $search_results.append(html_item);196 197 198 document.location.href="#search-results-anchor";199 200 var next_prev = '<p style="width:100%;"><div id="search-prev" style="float: left;"><a>< Previous</a></div><div id="search-next" style="float: right;"><a>Next ></a></div></p>';201 202 $search_results.append(next_prev);203 $('#search-prev').click(function(event) { show_new_results(-1*num_rows); });204 $('#search-next').click(function(event) { show_new_results(num_rows); });205 206 var search_start = store_search_args.start;207 if (search_start==0) {208 $('#search-prev').hide();209 }210 211 // Example URL for catalog metadata (multiple items)212 // http://catalog.hathitrust.org/api/volumes/brief/json/id:552;lccn:70628581|isbn:0030110408213 214 var htids_str = htids.join("|",htids);215 var cat_url = "http://catalog.hathitrust.org/api/volumes/brief/json/" + htids_str;216 $.ajax({217 url: cat_url,218 dataType: 'jsonp',219 jsonpCallback: "add_titles"220 });221 222 223 //var json_pretty = JSON.stringify(jsonData.response, null, '\t');224 //$('#search-results').text(json_pretty)225 }226 110 227 111 … … 416 300 417 301 418 function stream_submit_action(event)419 {420 event.preventDefault();421 422 $('.search-in-progress').css("cursor","wait");423 424 var vq_text = $('#vq').val();425 426 store_search_action = $('#search-form').attr("action");427 428 var arg_indent = $('#indent').attr('value');429 var arg_wt = $('#wt').attr('value');430 var arg_start = $('#start').attr('value');431 var arg_rows = $('#rows').attr('value');432 var q_text = $('#q').val();433 434 group_by_vol_checked = $('#group-results-by-id:checked').length;435 436 437 if ((q_text === "") && (vq_text === "")) {438 $('.search-in-progress').css("cursor","auto");439 alert("No query term entered");440 return;441 }442 443 var expr_all = "";444 var expr_md = "";445 var expr_tx = "";446 447 if (vq_text !== "") {448 // simplified case of issuing a volume-based metadata query449 //expr=search(col,q,fl,sort,rows)450 451 452 //var expr = "expr=search(";453 expr_md = "search(";454 expr_md += "htrc-full-ef20";455 expr_md += ",q=\""+vq_text+"\"";456 expr_md += ",fl=\"volumeid_s,id,title_t\"";457 expr_md += ",sort=\"id asc"+"\"";458 expr_md += ",indent=\""+arg_indent+"\"";459 expr_md += ",wt=\""+arg_wt+"\"";460 expr_md += ",start=\""+arg_start+"\"";461 expr_md += ",rows=\""+arg_rows+"\"";462 expr_md += ")";463 464 store_search_args = { q: vq_text, indent: arg_indent, wt: arg_wt,465 start: arg_start, rows: arg_rows };466 }467 468 if (q_text !== "") {469 470 var fields = [];471 var universal_pos_tags = [ "VERB", "NOUN", "ADJ", "ADV", "ADP", "CONJ", "DET", "NUM", "PRT", "X" ];472 473 var arg_q = "";474 475 var split_q_text = q_text.split(/\s+/);476 for (var qi=0; qi<split_q_text.length; qi++) {477 q_text = split_q_text[qi];478 479 for (var li=0; li<langs_with_pos.length; li++) {480 var lang = langs_with_pos[li];481 var lang_enabled_id = lang + "-enabled";482 var $lang_enabled_cb = $('#'+lang_enabled_id);483 if ($lang_enabled_cb.is(':checked')) {484 console.log("Extracting POS tags for: " + lang);485 486 for (var ti=0; ti<universal_pos_tags.length; ti++) {487 var tag = universal_pos_tags[ti];488 var lang_tag_id = lang+"-"+tag+"-htrctoken-cb";489 var $lang_tag_cb = $('#'+lang_tag_id);490 if ($lang_tag_cb.is(':checked')) {491 //var lang_tag_field = "xxxx"+lang+"_"+tag+"_htrctoken";492 var lang_tag_field = lang+"_"+tag+"_htrctoken";493 fields.push(lang_tag_field+":"+q_text);494 }495 }496 }497 }498 499 for (var li=0; li<langs_without_pos.length; li++) {500 var lang = langs_without_pos[li];501 var lang_enabled_id = lang + "-enabled";502 var $lang_enabled_cb = $('#'+lang_enabled_id);503 504 if ($lang_enabled_cb.is(':checked')) {505 console.log("Adding in non-POS field for: " + lang);506 //var lang_tag_field = "xxxx"+lang+"_htrctoken";507 var lang_tag_field = lang+"_htrctoken";508 fields.push(lang_tag_field+":"+q_text);509 }510 }511 512 if (fields.length == 0) {513 alert("No languages selected");514 return;515 }516 517 if (qi>0) {518 arg_q += " OR ";519 }520 521 arg_q += fields.join(" OR ");522 523 } // end of for each split q_text524 525 // Example search on one of the htrc-full-ef fields is:526 // q=en_NOUN_htrctoken:farming527 528 store_search_args = { q: arg_q, indent: arg_indent, wt: arg_wt, start: arg_start, rows: arg_rows };529 530 store_search_args.sort="id asc";531 store_search_args.fl="volumeid_s,id";532 533 var expr_tx = "search(htrc-full-ef20";534 535 for (var k in store_search_args) {536 if (store_search_args.hasOwnProperty(k)) {537 var v = store_search_args[k];538 expr_tx += "," + k + "=\"" + v + "\"";539 }540 }541 expr_tx += ")";542 }543 544 545 if ((expr_md != "") && (expr_tx != "")) {546 expr = "expr=intersect(" + expr_md + "," + expr_tx + ", on=\"id=volumeid_s\")";547 }548 else if (expr_md != "") {549 expr = "expr=" + expr_md;550 }551 else if (expr_tx != "") {552 expr = "expr=" + expr_tx;553 }554 else {555 // both empty556 console.log("Warning: query was empty");557 }558 559 560 $.ajax({561 type: 'GET',562 url: store_search_action,563 data: expr,564 dataType: 'json',565 success: stream_show_results,566 error: ajax_error567 });568 569 }570 571 302 function submit_action(event) 572 303 { … … 813 544 } 814 545 815 if ($('#stream-search-submit').length>0) {816 $('#stream-search-submit').click(stream_submit_action);817 }818 819 546 }); -
other-projects/hathitrust/wcsa/extracted-features-solr/trunk/web-portal/stream-query.html
r31570 r31614 29 29 <script src="iso-639-1.js"></script> <!-- defined var 'isoLangs' --> 30 30 <script src="index.js"></script> 31 <script src="stream-index.js"></script> 31 32 </head> 32 33 <body>
Note:
See TracChangeset
for help on using the changeset viewer.