Changeset 632

Show
Ignore:
Timestamp:
14-04-12 11:11:21 (2 years ago)
Author:
kees.burger@…
Message:

Fixed missing tag index, causing edits to disappear from the index
Updated solr schema to improve search results for exact matches

Location:
trunk/code/conceptwiki/storage/storage-solr/src/main
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/code/conceptwiki/storage/storage-solr/src/main/config/solr/conf/schema.xml

    r590 r632  
    88                                <tokenizer class="solr.WhitespaceTokenizerFactory" /> 
    99                                <filter class="solr.LowerCaseFilterFactory" /> 
    10                                 <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="16" /> 
     10                                <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="8" /> 
    1111                        </analyzer> 
    1212                        <analyzer type="query"> 
     13                                <tokenizer class="solr.WhitespaceTokenizerFactory" /> 
     14                                <filter class="solr.LowerCaseFilterFactory" /> 
     15                        </analyzer> 
     16                </fieldType> 
     17                 
     18                <fieldType name="text_exact" class="solr.TextField"> 
     19                        <analyzer type="index"> 
     20                                <tokenizer class="solr.KeywordTokenizerFactory" /> 
     21                        </analyzer> 
     22                </fieldType> 
     23                 
     24                <fieldType name="text_chunk_exact" class="solr.TextField"> 
     25                        <analyzer type="index"> 
    1326                                <tokenizer class="solr.WhitespaceTokenizerFactory" /> 
    1427                                <filter class="solr.LowerCaseFilterFactory" /> 
     
    2235                <field name="syn" type="text_general" indexed="true" stored="true" required="false" multiValued="true" /> 
    2336                <field name="tags" type="uuid" indexed="true" stored="true" required="false" multiValued="true" /> 
     37                 
     38                <!-- copied fields --> 
     39                <dynamicField name="*_exact" type="text_exact" indexed="true" stored="false" required="false" multiValued="true" /> 
     40                <dynamicField name="*_chunk_exact" type="text_chunk_exact" indexed="true" stored="false" required="false" multiValued="true" /> 
    2441        </fields> 
     42         
     43        <copyField source="pref" dest="pref_exact" /> 
     44        <copyField source="pref" dest="pref_chunk_exact" /> 
     45        <copyField source="syn" dest="syn_exact" /> 
     46        <copyField source="syn" dest="syn_chunk_exact" /> 
    2547         
    2648        <!-- 
  • trunk/code/conceptwiki/storage/storage-solr/src/main/config/solr/conf/solrconfig.xml

    r547 r632  
    213213                        <str name="fl">uuid pref syn</str> 
    214214                        <str name="defType">edismax</str> 
    215                         <str name="qf">pref syn</str> 
     215                        <str name="qf">pref_exact^10 syn_exact^8 pref_chunk_exact^6 syn_chunk_exact^4 pref syn</str> 
    216216                        <str name="hl">on</str> 
    217217                        <str name="hl.fl">pref syn</str> 
     
    220220        </requestHandler> 
    221221 
     222        <!-- 
     223                Enables XML updates. 
     224        --> 
     225        <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" /> 
     226        <!-- 
     227                Enables binary updates. 
     228        --> 
    222229        <requestHandler name="/update/javabin" class="solr.BinaryUpdateRequestHandler" /> 
    223230 
  • trunk/code/conceptwiki/storage/storage-solr/src/main/java/nl/nbic/conceptwiki/storage/solr/impl/ConceptSearchServiceImpl.java

    r546 r632  
    130130            } 
    131131        } 
     132        for (Concept tag : concept.getTags()) { 
     133                solrDoc.addField(SolrFields.FIELD_TAGS, tag.getUuid()); 
     134        } 
    132135         
    133136        try { 
    134137            solrServer.add(solrDoc); 
     138             
     139            // TODO evaluate the use of a explicit commit vs. an (server side) autocommit strategy   
     140            solrServer.commit(); 
    135141        } catch (SolrServerException e) { 
    136142            logger.warn("{}", e.getLocalizedMessage()); 
  • trunk/code/conceptwiki/storage/storage-solr/src/main/java/nl/nbic/conceptwiki/storage/solr/SolrFields.java

    r546 r632  
    1818     */ 
    1919    String FIELD_SYN = "syn"; 
     20    /** 
     21     * The tags indicate classifications for a concept. 
     22     */ 
     23    String FIELD_TAGS = "tags"; 
    2024}