Changeset 19:568f0b136f2d


Ignore:
Timestamp:
19.05.2010 15:09:54 (7 years ago)
Author:
hagenbruch@phoibe.ub.rub.de
Branch:
default
Message:

New entry IDs (UUIDs). Statistics overview of record counts. Deduplication support. Minor tweaks...

Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • .hgignore

    r14 r19  
    2121^solr/trunk/common-build\.xml$ 
    2222^solr/trunk/build\.xml$ 
     23^django/repo/secret\.py$ 
    2324 
    2425syntax: glob 
  • django/repo/search/views.py

    r17 r19  
    120120         
    121121    stdparams = 'facet=true&facet.field=fperson&facet.field=fsubject&facet.field=fdate&facet.field=fjtitle&facet.field=genrel1&facet.field=language&facet.field=fakultaet&facet.mincount=1&facet.tree=genrel1,genrel2&facet.tree=fakultaet,fach&facet.tree=zentraleeinheit,fach&facet.field=zentraleeinheit&facet.limit=5&wt=python&start=%s&' % str(offset) 
    122     ilist_params = 'fl=entryID&rows=60000&wt=python' 
     122    ilist_params = 'fl=entryID&wt=python' 
    123123    params = 'q=%s&' % urllib.quote_plus(query) 
    124124 
     
    551551    result = _fetch_result(params) 
    552552 
     553    moreLikeThis = None 
    553554    # 'MoreLikeThis' documents are attached to their respective source docs (via ID) 
    554     moreLikeThis = result['moreLikeThis'][entry_id]['docs'] 
    555  
     555    #moreLikeThis = result['moreLikeThis'][entry_id]['docs'] 
     556    try: 
     557        moreLikeThis = result.get('moreLikeThis', '').get(entry_id, '').get('docs', '') 
     558    except AttributeError: 
     559        moreLikeThis = None 
     560 
     561    logging.debug(result) 
    556562    record = result['response']['docs'][0] 
    557563 
     
    12541260    auth.logout(request) 
    12551261    return HttpResponseRedirect('/') 
     1262 
     1263def overview(request): 
     1264    params = 'q=*:*&facet=true&facet.field=fakultaet&facet.field=zentraleeinheit&facet.mincount=1&wt=python&rows=0' 
     1265    result = _fetch_result(params) 
     1266 
     1267    total_records = result.get('response').get('numFound') 
     1268    fakultaeten = result.get('facet_counts').get('facet_fields').get('fakultaet') 
     1269    zentrale_einheiten = result.get('facet_counts').get('facet_fields').get('zentraleeinheit') 
     1270 
     1271    #logging.info(fakultaeten) 
     1272    fak_list = [] 
     1273    ze_list = [] 
     1274    while fakultaeten: 
     1275        tmp = {} 
     1276        cat, count = fakultaeten[0:2] 
     1277        del fakultaeten[0:2] 
     1278        percentage = int((count/float(total_records))*100) 
     1279        rest = 100-percentage 
     1280        tmp.setdefault('label', cat) 
     1281        tmp.setdefault('count', count) 
     1282        tmp.setdefault('percentage', percentage) 
     1283        tmp.setdefault('rest', rest) 
     1284        fak_list.append(tmp) 
     1285    while zentrale_einheiten: 
     1286        cat, count = zentrale_einheiten[0:2] 
     1287        del zentrale_einheiten[0:2] 
     1288        percentage = int((count/float(total_records))*100) 
     1289        rest = 100-percentage 
     1290        tmp.setdefault('label', cat) 
     1291        tmp.setdefault('count', count) 
     1292        tmp.setdefault('percentage', percentage) 
     1293        tmp.setdefault('rest', rest) 
     1294        ze_list.append(tmp) 
     1295    #logging.info(fak_list) 
     1296    #logging.info(ze_dict) 
     1297 
     1298    return render_to_response( 
     1299    'overview.html', { 
     1300        'fakultaeten': fak_list, 
     1301        'zentrale_einheiten': ze_list, 
     1302        'total': total_records, 
     1303    } 
     1304    ) 
  • django/repo/urls.py

    r16 r19  
    4242        (r'^statistics/(.+?)/(.+)', stats), 
    4343        (r'^mltentry/(.+?_\d+)', mltentry), 
    44         (r'^entry/(.+?_\d+)/pos/(\d+)', entry), 
    45         (r'^entry/(.+?_\d+)', entry_nopag), 
     44        #(r'^entry/(.+?_\d+)/pos/(\d+)', entry), 
     45        (r'^entry/(.+?)/pos/(\d+)', entry), 
     46        #(r'^entry/(.+?_\d+)', entry_nopag), 
     47        (r'^entry/(.+)', entry_nopag), 
    4648        (r'^empty$', empty), 
    4749        (r'^watchlist/add', watchlist_add), 
     
    6870        (r'^ajax/watchlist/add', ajax_watchlist_add), 
    6971        (r'^ajax/watchlist/remove', ajax_watchlist_remove), 
     72        (r'^overview/', overview), 
    7073        (r'^$', index), 
    7174) 
  • django/templates/base.html

    r16 r19  
    313313                        Valid <a href="http://validator.w3.org/check?uri=referer">XHTML</a> | 
    314314                        Valid <a href="http://jigsaw.w3.org/css-validator/check/referer"> CSS 2.1</a> | 
    315                         Letzte Änderung: 13.11.2009  &nbsp;| 
     315                        Letzte Änderung: {% now "j.m.Y" %}  &nbsp;| 
    316316                        <a href="http://www.ruhr-uni-bochum.de/impressum.htm" title="Impressum Ruhr-Universit&auml;t Bochum">Impressum</a> | 
    317317                        Ansprechpartner/in: <a href="mailto:">Inhalt</a> &amp; <a href="mailto:" title="Email Webmaster">Technik</a> | <a href="#" class="print">Druckfassung</a></div> 
  • django/templates/record.html

    r16 r19  
    366366                                                            <li><a href="#tabs-1">Bestand</a></li> 
    367367                                                            <li><a href="#tabs-2">Export</a></li> 
     368                                                            {% if moreLikeThis %} 
    368369                                                            <li><a href="#tabs-3"> Ähnliche Titel</a></li> 
     370                                                            {% endif %} 
    369371                                                        </ul> 
    370372                                                        <div id="tabs-1"> 
     
    412414                                                            </dl> 
    413415                                                        </div> 
     416                                                        {% if moreLikeThis %} 
    414417                                                        <div id="tabs-3"> 
    415418                                                            <h5 class="versteckmich">Ähnliche Titel</h5> 
    416                                                             {% if moreLikeThis %} 
    417419                                                                <h3>Suche nach ähnlichen Titeln</h3> 
    418420                                                                <ul> 
     
    421423                                                                {% endfor %} 
    422424                                                                </ul> 
    423                                                         {% endif %} 
    424425                                                        </div> 
     426                                                        {% endif %} 
    425427                                                    </div> 
    426428                                                </div> 
  • feeder.py

    r17 r19  
    1010from mods2solr import Collection 
    1111#from mods_parser import Collection 
    12 #from solr_util import commit, optimize 
     12from solr_util import commit, optimize 
    1313from types import ListType 
     14import logging 
     15 
     16logging.basicConfig (level=logging.DEBUG, 
     17                     format='%(asctime)s %(levelname)-4s %(message)s', 
     18                     datefmt='%a, %d %b %Y %H:%M:%S', 
     19                     ) 
    1420 
    1521COL_INFO = { 
     
    6672    }, 
    6773    'medizin': { 
    68         'filename': ['medizin_1.xml', 'medizin_2.xml', 'medizin_3.xml'], 
     74        #'filename': ['medizin_1.xml', 'medizin_2.xml', 'medizin_3.xml'], 
     75        'filename': 'medizin.xml', 
    6976        'institution': 'Fakultaet', 
    7077        'inst_label': 'Medizin', 
     
    209216 
    210217    # Alle Kollektionen indexieren 
    211 #       for fach in COL_INFO: 
    212 #               print fach#.encode('utf8') 
    213 #        if type(COL_INFO[fach]['filename']) is ListType: 
    214 #            for fn in COL_INFO[fach]['filename']: 
    215 #                col = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + fn, fach, COL_INFO[fach]['disziplin'], institution=COL_INFO[fach]['institution'], inst_label=COL_INFO[fach]['inst_label'], debug=False) 
    216 #                col.feed() 
    217 #                commit() 
    218 #                optimize() 
    219 #        else: 
    220 #            col = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + COL_INFO[fach]['filename'], fach, COL_INFO[fach]['disziplin'], institution=COL_INFO[fach]['institution'], inst_label=COL_INFO[fach]['inst_label'], debug=False) 
    221 #            col.feed() 
    222 #            commit() 
    223 #            optimize() 
     218        for fach in COL_INFO: 
     219            logging.info(fach)#.encode('utf8') 
     220            if type(COL_INFO[fach]['filename']) is ListType: 
     221                for fn in COL_INFO[fach]['filename']: 
     222                    col = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + fn, fach, COL_INFO[fach]['disziplin'], institution=COL_INFO[fach]['institution'], inst_label=COL_INFO[fach]['inst_label'], debug=False) 
     223                    col.feed() 
     224            else: 
     225                col = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + COL_INFO[fach]['filename'], fach, COL_INFO[fach]['disziplin'], institution=COL_INFO[fach]['institution'], inst_label=COL_INFO[fach]['inst_label'], debug=False) 
     226                col.feed() 
     227        commit() 
     228        optimize() 
    224229         
    225230    #Eine Kollektion konvertieren 
    226     test = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + 'jura.xml', 'Soziologie', 'Geisteswissenschaft', institution = 'Fakultaet', inst_label = 'Soziologie', debug = True) 
    227     test.convert() 
     231    #test = Collection('/home/hagenbruch/data/bibliographie-daten/mods-xml/' + 'jura.xml', 'Medizin', 'Medizin', institution = 'Fakultaet', inst_label = 'Medizin', debug = True) 
     232    #test.convert() 
    228233 
    229234# Eine Kollektion indexieren 
     
    234239if __name__ == '__main__': 
    235240    main() 
    236  
  • mods2solr.py

    r18 r19  
    8080    'Vortrag': 'Sonstiges', 
    8181    'Lexikonartikel': 'Aufsatz', 
     82    'Vorwort': 'Sonstiges', 
    8283} 
    8384 
     
    121122    'Pressemitteilung': 'GEN', 
    122123    'Vortrag': 'GEN', 
    123     'Lexikonartikel': 'GEN' 
     124    'Lexikonartikel': 'GEN', 
     125    'Vorwort': 'GEN', 
    124126} 
    125127 
     
    163165    'Pressemitteilung': 'misc', 
    164166    'Vortrag': 'misc', 
    165     'Lexikonartikel': 'misc' 
     167    'Lexikonartikel': 'misc', 
     168    'Vorwort': 'misc', 
    166169} 
    167170 
     
    295298        return _pnd_cache.get(pnd) 
    296299    else: 
    297         response = urllib.urlopen('http://134.147.247.36:8099/rubauthor/%s/consent' % pnd)#.read() 
     300        response = urllib.urlopen('http://bibliographie-admin.ub.rub.de/rubauthor/%s/consent' % pnd)#.read() 
    298301        resp = response.read() 
    299         logging.info('CODE: %s' % response.getcode()) 
     302        #logging.info('CODE: %s' % response.getcode()) 
    300303        if response.getcode() == 500: # Noch nicht in der Redaktion? 
    301304            _pnd_cache.setdefault(pnd, resp) 
     
    307310class Collection(object): 
    308311         
    309     def __init__(self, filename, fach, disziplin, ** args): 
     312    def __init__(self, filename, fach, disziplin, **args): 
    310313        self.filename = filename 
    311314        #self.fakultaet = fakultaet 
     
    331334        lang_hist = {} 
    332335        #abbr_title = {} 
    333                  
    334                          
     336        debug_id = '' 
     337        debug_genre = '' 
     338 
    335339        #print genre_local.text 
     340        records = intree.findall('%smods' % MODS) 
     341        abstract_consent = True 
    336342                 
    337343                 
    338                  
    339         for data in intree.iter(): 
     344        #for data in intree.iter(): 
     345        for data in records: 
    340346            json_dict = {} 
    341347            genre = set() 
     
    360366                doc.append(solr('id', guid.text)) 
    361367                doc.append(solr('entryID', guid.text)) 
     368                debug_id = guid.text 
    362369                #dcds_tree = desc('tag:bibliographie.ub.rub.de,2009:%s:%s' % (self.fach.replace(' ', '_').decode('utf-8'), str(record_counter))) 
    363370                dcds_tree = desc(guid.text) 
     
    375382                json_name = {} 
    376383                json_dict.setdefault('names', []) 
    377                 abstract_consent = True 
    378384                                                                 
    379385                for elem in data: 
     
    387393                            if elem.attrib['authority'] == 'local': 
    388394                                genre_local = elem.text 
     395                                debug_genre = elem.text 
    389396                                         
    390397                    if elem.tag == '%sname' % MODS: 
     
    392399                        realname, nametype, namerole, pnd = get_name(elem) 
    393400                        if pnd is not None: 
    394                             logging.debug('PND: %s' % pnd) 
     401                            #logging.debug('PND: %s' % pnd) 
    395402                            doc.append(solr('pnd', '%s#%s' % (realname, pnd))) 
    396403                            abstract_consent = _check_consent(pnd) 
    397                             logging.info('CONSENT: %s => %s' % (pnd, abstract_consent)) 
     404                            #logging.info('CONSENT: %s => %s' % (pnd, abstract_consent)) 
    398405                        if namerole == 'aut' and nametype == 'personal': 
    399406                            doc.append(solr('creator', realname)) 
     
    431438                            # Keine Paralleltitel in BibTeX und RIS? 
    432439                            dcds_tree.append(stmt('alternative', get_title(elem))) 
     440                        elif elem.attrib.get('type') == 'uniform': 
     441                            pass 
    433442                        else: 
    434443                            doc.append(solr('title', get_title(elem))) 
     
    470479                            ris_list.append('SN  - %s\n' % elem.text) 
    471480                    if elem.tag == '%srelatedItem' % MODS: 
    472                         if elem.attrib['type'] == 'host': 
     481                        #if elem.attrib['type'] == 'host': 
     482                        if elem.attrib.get('type') == 'host': 
    473483                            for host in elem: 
    474484                                if host.tag == '%sidentifier' % MODS: 
     
    537547                                                doc.append(solr('fdate', date_range.group(1))) 
    538548                                            else: 
    539                                                 doc.append(solr('fdate', year)) 
     549                                                doc.append(solr('fdate', year[:4])) 
    540550                                            dcds_tree.append(stmt('issued', detail.text)) 
    541551                                            dc_list.append(dc('date', detail.text)) 
     
    578588                                                            doc.append(solr('fdate', date_range.group(1))) 
    579589                                                        else: 
    580                                                             doc.append(solr('fdate', detail.text)) 
     590                                                            doc.append(solr('fdate', year[:4])) 
    581591                                                    if detail.tag == '%sdetail' % MODS: 
    582592                                                        if detail.attrib['type'] == 'issue': 
     
    595605                                            bibtex_list.append('\tpublisher = {%s},\n' % umlaut(info.text)) 
    596606                                        if info.tag == '%sdateIssued' % MODS: 
    597                                             if info.text: 
    598                                                 # doc.append(solr('date', '%s%s' % (info.text, '-01-01T00:00:00Z'))) 
    599                                                 doc.append(solr('date', info.text)) 
    600                                                 year = info.text 
    601                                                 #print year 
    602                                                 if DATE_RANGE_RE.search(info.text): 
    603                                                     date_range = DATE_RANGE_RE.search(info.text) 
    604                                                     doc.append(solr('fdate', date_range.group(1))) 
    605                                                 else: 
    606                                                     doc.append(solr('fdate', info.text)) 
     607                                            if debug_genre == 'ContributionInLegalCommentary': 
     608                                                pass 
     609                                            else: 
     610                                                if info.text: 
     611                                                    # doc.append(solr('date', '%s%s' % (info.text, '-01-01T00:00:00Z'))) 
     612                                                    doc.append(solr('date', info.text)) 
     613                                                    year = info.text 
     614                                                    #print year 
     615                                                    if DATE_RANGE_RE.search(info.text): 
     616                                                        date_range = DATE_RANGE_RE.search(info.text) 
     617                                                        doc.append(solr('fdate', date_range.group(1))) 
     618                                                    else: 
     619                                                        doc.append(solr('fdate', year[:4])) 
    607620                        # elif elem.attrib.get('type') == 'constituent': 
    608621                        #       stellen = [] 
     
    655668                                                doc.append(solr('fdate', date_range.group(1))) 
    656669                                            else: 
    657                                                 doc.append(solr('fdate', detail.text)) 
     670                                                doc.append(solr('fdate', year[:4])) 
    658671                                        if detail.tag == '%sdetail' % MODS: 
    659672                                            if detail.attrib['type'] == 'issue': 
     
    679692                            if origin.tag == '%sdateIssued' % MODS: 
    680693                                doc.append(solr('date', origin.text)) 
     694                                #logging.debug('%s in %s' % (info.text, debug_id)) 
    681695                                if DATE_RANGE_RE.search(info.text): 
    682696                                    date_range = DATE_RANGE_RE.search(info.text) 
    683697                                    doc.append(solr('fdate', date_range.group(1))) 
    684698                                else: 
    685                                     doc.append(solr('fdate', info.text)) 
     699                                    doc.append(solr('fdate', origin.text[:4])) 
     700                                    #logging.debug('%s in %s' % (origin.text, debug_id)) 
    686701                                bibtex_list.append('\tyear = {%s},\n' % origin.text) 
    687702                                ris_list.append('Y1  - %s///\n' % origin.text) 
     
    722737                            ris_list.append('N2  - %s\n' % elem.text) 
    723738                        else: 
     739                            #logging.debug(etree.tostring(elem)) 
    724740                            doc.append(solr('ro_abstract', elem.text)) 
    725741                            data.remove(elem) 
     742                            #logging.debug(etree.tostring(data)) 
    726743                    if elem.tag == '%sclassification' % MODS: 
    727744                        if elem.attrib.get('authority', '') == 'stw': 
     
    743760                                doc.append(solr('recordCreationDate', '%sT00:00:00Z' % info.text)) 
    744761                            if info.tag == '%srecordChangeDate' % MODS: 
    745                                 doc.append(solr('recordChangeDate', datetime.datetime.now().isoformat()[:-9] + '00Z')) # Citavi ISO-Format abwarten 
    746                                 json_dict.setdefault('recordChangeDate', datetime.datetime.now().isoformat()[:-9] + '00Z') # Citavi ISO-Format abwarten 
     762                                #doc.append(solr('recordChangeDate', datetime.datetime.now().isoformat()[:-9] + '00Z')) # Citavi ISO-Format abwarten 
     763                                #json_dict.setdefault('recordChangeDate', datetime.datetime.now().isoformat()[:-9] + '00Z') # Citavi ISO-Format abwarten 
     764                                doc.append(solr('recordChangeDate', '%sT00:00:00Z' % info.text)) 
    747765                            # json_dict.setdefault('typeOfResource', 'Text') 
    748766                    if elem.tag == '%sextension' % MODS: 
     
    764782                                 
    765783                if genre: 
    766                     genre = list(genre) 
    767                     doc.append(solr('genrel1', GENRE_MAP[genre[0]])) 
    768                     doc.append(solr('genrel2', genre[0])) 
    769                     ris = 'TY  - %s\n' % RIS_GENRE_MAP[genre[0]] 
    770                     #bibtex = '@%s{%s_%s,\n' % (BIBTEX_GENRE_MAP[genre[0]], self.fach.decode('utf-8'), str(record_counter)) 
    771                     bibtex = '@%s{%s_%s,\n' % (BIBTEX_GENRE_MAP[genre[0]], self.fach.decode('utf-8'), guid.text) 
    772                     dcds_tree.append(stmt('type', GENRE_MAP[genre[0]])) 
    773                     dc_list.append(dc('type', GENRE_MAP[genre[0]])) 
    774                     json_dict.setdefault('genre', GENRE_MAP[genre[0]]) 
    775                     genre_local = '' 
     784                    try: 
     785                        genre = list(genre) 
     786                        doc.append(solr('genrel1', GENRE_MAP[genre[0]])) 
     787                        doc.append(solr('genrel2', genre[0])) 
     788                        ris = 'TY  - %s\n' % RIS_GENRE_MAP[genre[0]] 
     789                        #bibtex = '@%s{%s_%s,\n' % (BIBTEX_GENRE_MAP[genre[0]], self.fach.decode('utf-8'), str(record_counter)) 
     790                        bibtex = '@%s{%s_%s,\n' % (BIBTEX_GENRE_MAP[genre[0]], self.fach.decode('utf-8'), guid.text) 
     791                        dcds_tree.append(stmt('type', GENRE_MAP[genre[0]])) 
     792                        dc_list.append(dc('type', GENRE_MAP[genre[0]])) 
     793                        json_dict.setdefault('genre', GENRE_MAP[genre[0]]) 
     794                        genre_local = '' 
     795                    except KeyError as ke: 
     796                        logging.error(ke) 
    776797 
    777798                if genre_local: 
     
    831852                index.append(doc) 
    832853                record_counter += 1 
    833         print record_counter - 1 
     854        myrecords = record_counter  - 1 
     855        logging.info('NUMBER OF RECORDS: %d' % myrecords) 
    834856        #print lang_hist 
    835857        if self.debug == True: 
     
    851873if __name__ == '__main__': 
    852874    main() 
    853  
  • solr/trunk/example/solr/conf/schema.xml

    r0 r19  
    399399        <!--<field name="abbr_jtitle" type="string" indexed="true" stored="true"/>--> 
    400400        <!-- Reihentitel --> 
    401         <field name="series_title" type="text" indexed="true" stored="true"/> 
     401        <field name="series_title" type="text" indexed="true" stored="true" multiValued="true"/> 
    402402        <!-- Zeitschriften-/Reihentitel-Navigator --> 
    403403        <!-- mehrere Serientitel??? --> 
     
    411411        <field name="issue" type="string" stored="true" omitNorms="true"/> 
    412412        <!-- Jahrgang --> 
    413         <field name="volume" type="string" stored="true" omitNorms="true"/> 
     413        <field name="volume" type="string" stored="true" omitNorms="true" multiValued="true"/> 
    414414        <!-- Seitenangaben --> 
    415415        <field name="pages" type="string" stored="true" multiValued="true" omitNorms="true"/> 
     
    484484        <!-- Zusammenfassung --> 
    485485        <field name="abstract" type="text" indexed="true" stored="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/> 
     486        <!-- Zusammenfassung fuer Highlighting --> 
     487        <field name="ro_abstract" type="text" indexed="true" stored="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/> 
    486488        <!-- Kommentar --> 
    487489        <field name="note" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/> 
     490 
     491        <!-- Feld fuer Deduplizierung --> 
     492        <field name="dedupid" type="string" indexed="true" stored="true" omitNorms="true"/> 
    488493 
    489494        <!-- ISSN --> 
     
    574579   <copyField source="fdate" dest="text"/> 
    575580   <copyField source="abstract" dest="text"/> 
     581   <copyField source="ro_abstract" dest="text"/> 
    576582   <copyField source="issn" dest="text"/> 
    577583   <copyField source="isbn" dest="text"/> 
  • solr/trunk/example/solr/conf/solrconfig.xml

    r17 r19  
    605605  </searchComponent> 
    606606 
     607  <searchComponent name="elevator" class="org.apache.solr.handler.component.QueryElevationComponent" > 
     608    <str name="queryFieldType">string</str> 
     609    <str name="config-file">elevate.xml</str> 
     610  </searchComponent> 
     611 
     612  <requestHandler name="/elevate" class="solr.SearchHandler"> 
     613    <lst name="defaults"> 
     614      <str name="echoParams">explicit</str> 
     615    </lst> 
     616    <arr name="last-components"> 
     617      <str>elevator</str> 
     618    </arr> 
     619  </requestHandler> 
     620 
    607621  <!-- A request handler utilizing the spellcheck component.   
    608622  ################################################################################################ 
     
    691705       To enable solr1.1 behavior, remove the /update handler or change its path 
    692706    --> 
    693   <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" /> 
     707  <requestHandler name="/update" class="solr.XmlUpdateRequestHandler"> 
     708      <lst name="defaults"> 
     709            <str name="update.processor">dedupe</str> 
     710        </lst> 
     711  </requestHandler> 
    694712 
    695713 
     
    813831   <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true"> 
    814832    <lst name="defaults"> 
    815      <str name="hl.simple.pre"><![CDATA[<em>]]></str> 
    816      <str name="hl.simple.post"><![CDATA[</em>]]></str> 
     833     <str name="hl.simple.pre"><![CDATA[<span class="highlight">]]></str> 
     834     <str name="hl.simple.post"><![CDATA[</span>]]></str> 
    817835    </lst> 
    818836   </formatter> 
     
    823841       set to false since we are using the id field as the signatureField and Solr 
    824842       will maintain uniqueness based on that anyway. --> 
    825   <!-- 
     843   
    826844  <updateRequestProcessorChain name="dedupe"> 
    827845    <processor class="org.apache.solr.update.processor.SignatureUpdateProcessorFactory"> 
    828846      <bool name="enabled">true</bool> 
    829       <str name="signatureField">id</str> 
     847      <str name="signatureField">dedupid</str> 
    830848      <bool name="overwriteDupes">false</bool> 
    831       <str name="fields">name,features,cat</str> 
     849      <str name="fields">title,genrel1,date,journal_title</str> 
    832850      <str name="signatureClass">org.apache.solr.update.processor.Lookup3Signature</str> 
    833851    </processor> 
     
    835853    <processor class="solr.RunUpdateProcessorFactory" /> 
    836854  </updateRequestProcessorChain> 
    837   --> 
     855   
    838856 
    839857 
Note: See TracChangeset for help on using the changeset viewer.