Changeset 632


Ignore:
Timestamp:
Apr 14, 2012, 11:11:21 AM (5 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 edited

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/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}
  • 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());
Note: See TracChangeset for help on using the changeset viewer.