Ignore:
Timestamp:
2016-12-12T20:18:04+13:00 (7 years ago)
Author:
davidb
Message:

Use of whitelist Bloom filter added to words going into Solr index

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/hathitrust/wcsa/extracted-features-solr/trunk/solr-ingest/src/main/java/org/hathitrust/extractedfeatures/SolrDocJSON.java

    r31176 r31220  
    1616public class SolrDocJSON {
    1717
    18     protected static String generateSolrText(JSONObject ef_token_pos_count)
     18    protected static String generateSolrText(JSONObject ef_token_pos_count, WhitelistBloomFilter whitelist_bloomfilter)
    1919        {
    2020            StringBuilder sb = new StringBuilder();
    2121   
    2222            Iterator<String> token_iter = ef_token_pos_count.keys();
    23             while (token_iter.hasNext()) {
    24                 String token = token_iter.next();
    25                
    26                 sb.append(token);
    27                 if (token_iter.hasNext()) {
    28                     sb.append(" ");
    29                 }
    30             }
    31            
     23           
     24            if (whitelist_bloomfilter == null) {
     25
     26                while (token_iter.hasNext()) {
     27                    String token = token_iter.next();
     28                    sb.append(token);
     29                    if (token_iter.hasNext()) {
     30                        sb.append(" ");
     31                    }
     32                }
     33            }
     34            else {
     35                while (token_iter.hasNext()) {
     36                    String token = token_iter.next();
     37                    if (whitelist_bloomfilter.contains(token)) {
     38                        sb.append(token);
     39                        if (token_iter.hasNext()) {
     40                            sb.append(" ");
     41                        }
     42                    }
     43                }
     44               
     45            }
    3246            /*
    3347            Set<String> token_keys = ef_token_pos_count.keySet();
     
    4054        }
    4155
    42     protected static JSONObject generateSolrDocJSON(String volume_id, String page_id, JSONObject ef_page)
     56    protected static JSONObject generateSolrDocJSON(String volume_id, String page_id, JSONObject ef_page,
     57                                                    WhitelistBloomFilter whitelist_bloomfilter)
    4358    {
    4459        JSONObject solr_update_json = null;
     
    5267                    JSONObject solr_add_json = new JSONObject();
    5368   
    54                     String text = generateSolrText(ef_token_pos_count);
     69                    String text = generateSolrText(ef_token_pos_count,whitelist_bloomfilter);
    5570                   
    5671                    JSONObject solr_doc_json = new JSONObject();
    5772                    solr_doc_json.put("id", page_id);
    5873                    solr_doc_json.put("volumeid_s", volume_id);
    59                     solr_doc_json.put("eftext_txt", text);
    60                    
     74                    if (!text.equals("")) {
     75                        solr_doc_json.put("eftext_txt", text);
     76                    }
     77                    else {
     78                        solr_doc_json.put("efnotext_b", true);
     79                    }
    6180                    solr_add_json.put("commitWithin", 5000);
    6281                    solr_add_json.put("doc", solr_doc_json);
Note: See TracChangeset for help on using the changeset viewer.