Merge branch 'master' into protocol-version2
authorDennis Schafroth <dennis@indexdata.com>
Tue, 15 May 2012 10:46:59 +0000 (12:46 +0200)
committerDennis Schafroth <dennis@indexdata.com>
Tue, 15 May 2012 10:46:59 +0000 (12:46 +0200)
etc/server.xml
nmen.stat [new file with mode: 0644]
src/client.c
src/session.c
src/termlists.c
test/test_icu.cfg
test/test_icu_8.res

index d47a663..b97875f 100644 (file)
@@ -27,6 +27,7 @@
     <icu_chain id="facet" locale="en">
       <display/>
       <transform rule="Title"/>
+      <transliterate>[[:WhiteSpace:][,.-]]* } [$] > ;</transliterate>
     </icu_chain>
     
     <include src="services-enabled/*.xml"/>
diff --git a/nmen.stat b/nmen.stat
new file mode 100644 (file)
index 0000000..6b19c38
--- /dev/null
+++ b/nmen.stat
@@ -0,0 +1,14 @@
+4K
+user   0m5.296s
+sys    0m0.788s
+
+user   0m5.484s
+sys    0m0.732s
+
+100000
+user   0m5.272s
+sys    0m0.648s
+
+128K
+user   0m5.400s
+sys    0m0.768s
\ No newline at end of file
index 9e52b0a..59e06cd 100644 (file)
@@ -1092,7 +1092,7 @@ static int apply_limit(struct session_database *sdb,
     for (i = 0; (name = facet_limits_get(facet_limits, i, &value)); i++)
     {
         struct setting *s = 0;
-        
+        nmem_reset(nmem_tmp);
         for (s = sdb->settings[PZ_LIMITMAP]; s; s = s->next)
         {
             const char *p = strchr(s->name + 3, ':');
@@ -1148,7 +1148,6 @@ static int apply_limit(struct session_database *sdb,
                 break;
             }
         }
-        nmem_reset(nmem_tmp);
         if (!s)
         {
             yaz_log(YLOG_WARN, "Target %s: limit %s used, but no limitmap defined",
index b5a3d8f..0e1eea7 100644 (file)
@@ -692,6 +692,8 @@ enum pazpar2_error_code session_search(struct session *se,
     se->reclist = 0;
     se->settings_modified = 0;
     relevance_destroy(&se->relevance);
+    if (nmem_total(se->nmem))
+        session_log(se, YLOG_DEBUG, "NMEN operation usage %zd", nmem_total(se->nmem));
     nmem_reset(se->nmem);
     se->total_records = se->total_merged = 0;
     se->num_termlists = 0;
@@ -888,6 +890,10 @@ void session_destroy(struct session *se)
     normalize_cache_destroy(se->normalize_cache);
     relevance_destroy(&se->relevance);
     reclist_destroy(se->reclist);
+    if (nmem_total(se->nmem))
+        session_log(se, YLOG_DEBUG, "NMEN operation usage %zd", nmem_total(se->nmem));
+    if (nmem_total(se->session_nmem))
+        session_log(se, YLOG_DEBUG, "NMEN session usage %zd", nmem_total(se->session_nmem));
     nmem_destroy(se->nmem);
     service_destroy(se->service);
     yaz_mutex_destroy(&se->session_mutex);
index e7b6e68..ea93130 100644 (file)
@@ -118,9 +118,10 @@ void termlist_insert(struct termlist *tl, const char *display_term,
         return;
     strcpy(buf, norm_term);
     /* chop right */
+    /*
     for (cp = buf + strlen(buf); cp != buf && strchr(",. -", cp[-1]); cp--)
         cp[-1] = '\0';
-    
+    */
     bucket = jenkins_hash((unsigned char *)buf) % tl->hash_size;
     for (p = &tl->hashtable[bucket]; *p; p = &(*p)->next)
     {
index 75e8842..fcab6fa 100644 (file)
     </icu_chain>
     
     <icu_chain id="facet" locale="en">
-      <casemap rule="l"/>
+      <transliterate>[[:WhiteSpace:][,.!;]]* } [$] > ;</transliterate>
     </icu_chain>
 
     <icu_chain id="mychain" locale="en">
       <display/>
-      <casemap rule="l"/>
+      <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
     </icu_chain>
-    
+
+    <icu_chain id="facet-author" locale="en">
+<!--
+      <display/> 
+-->
+      <transliterate>
+       [,]* } [$] > ;
+      </transliterate>
+    </icu_chain>
+
     <service>
       <timeout session="30" z3950_operation="20" z3950_session="40"/>
       <metadata name="url" merge="unique"/>
@@ -47,7 +56,7 @@
       <metadata name="date" brief="yes" sortkey="numeric" type="year" merge="range"
                termlist="yes"/>
       <metadata name="author" brief="yes" termlist="yes"
-                merge="longest" rank="2" facetrule="mychain"/>
+                merge="longest" rank="2" facetrule="facet-author"/>
       <metadata name="subject" merge="unique" termlist="yes" rank="3"/>
       <metadata name="id"/>
       <metadata name="lccn" merge="unique"/>
index ed8bdcf..7380b62 100644 (file)
@@ -7,18 +7,18 @@
 <term><name>Wood, Helen M.</name><frequency>1</frequency></term>
 </list>
 <list name="subject">
-<term><name>bible</name><frequency>1</frequency></term>
-<term><name>bible. o.t</name><frequency>1</frequency></term>
-<term><name>cartography</name><frequency>1</frequency></term>
-<term><name>community colleges</name><frequency>1</frequency></term>
-<term><name>computers</name><frequency>1</frequency></term>
-<term><name>imaging systems in medicine</name><frequency>1</frequency></term>
-<term><name>optical pattern recognition</name><frequency>1</frequency></term>
-<term><name>puget sound region (wash.)</name><frequency>1</frequency></term>
-<term><name>radioisotope scanning</name><frequency>1</frequency></term>
-<term><name>railroads</name><frequency>1</frequency></term>
-<term><name>scintillation cameras</name><frequency>1</frequency></term>
-<term><name>tomography</name><frequency>1</frequency></term>
-<term><name>universities and colleges</name><frequency>1</frequency></term>
+<term><name>Bible</name><frequency>1</frequency></term>
+<term><name>Bible. O.T</name><frequency>1</frequency></term>
+<term><name>Cartography</name><frequency>1</frequency></term>
+<term><name>Community colleges</name><frequency>1</frequency></term>
+<term><name>Computers</name><frequency>1</frequency></term>
+<term><name>Imaging systems in medicine</name><frequency>1</frequency></term>
+<term><name>Optical pattern recognition</name><frequency>1</frequency></term>
+<term><name>Puget Sound region (Wash.)</name><frequency>1</frequency></term>
+<term><name>Radioisotope scanning</name><frequency>1</frequency></term>
+<term><name>Railroads</name><frequency>1</frequency></term>
+<term><name>Scintillation cameras</name><frequency>1</frequency></term>
+<term><name>Tomography</name><frequency>1</frequency></term>
+<term><name>Universities and colleges</name><frequency>1</frequency></term>
 </list>
 </termlist>
\ No newline at end of file