Mercurial > hg > zopeSolr
comparison zopeSolr.py @ 9:896bea4f61a0
try to deal with timeout on connect.
| author | casties |
|---|---|
| date | Wed, 19 Jun 2013 17:16:05 +0200 |
| parents | a8f16569d1a6 |
| children | f7fe88804cb8 |
comparison
equal
deleted
inserted
replaced
| 8:a8f16569d1a6 | 9:896bea4f61a0 |
|---|---|
| 13 import urllib | 13 import urllib |
| 14 import re | 14 import re |
| 15 import xml.etree.ElementTree as ET | 15 import xml.etree.ElementTree as ET |
| 16 import json | 16 import json |
| 17 import random | 17 import random |
| 18 import logging | |
| 18 | 19 |
| 19 #Worte die nicht in der Termliste angezeigt werden sollen #TODO: make this configurable | 20 #Worte die nicht in der Termliste angezeigt werden sollen #TODO: make this configurable |
| 20 | 21 |
| 21 STOPLIST={'main_content':['forward','drucken','history','science','part','publications','projects', | 22 STOPLIST={'main_content':['forward','drucken','history','science','part','publications','projects', |
| 22 'project','new','geschichte','institute','related','boltzmannstraße','14195'], | 23 'project','new','geschichte','institute','related','boltzmannstraße','14195'], |
| 65 | 66 |
| 66 """hole zufaellige eintraege""" | 67 """hole zufaellige eintraege""" |
| 67 | 68 |
| 68 | 69 |
| 69 if not getattr(self,'_v_solr_',None): | 70 if not getattr(self,'_v_solr_',None): |
| 70 self.connect() | 71 try: |
| 72 self.connect() | |
| 73 except Exception, e: | |
| 74 logging.error("Error connecting to Solr: %s"%e) | |
| 75 return [] | |
| 71 | 76 |
| 72 #http://localhost:8983/solr/mpiwgSources/select/?q=*:*&sort=random_12xs34%20desc&rows=1&facet=false | 77 #http://localhost:8983/solr/mpiwgSources/select/?q=*:*&sort=random_12xs34%20desc&rows=1&facet=false |
| 73 | 78 |
| 74 | 79 |
| 75 random.seed() | 80 random.seed() |
| 181 | 186 |
| 182 #for fl in storeFields: #initialisiere den hash | 187 #for fl in storeFields: #initialisiere den hash |
| 183 # fls[fl]={} | 188 # fls[fl]={} |
| 184 | 189 |
| 185 if not getattr(self,'_v_solr_',None): | 190 if not getattr(self,'_v_solr_',None): |
| 186 self.connect() | 191 try: |
| 187 | 192 self.connect() |
| 188 | 193 except Exception, e: |
| 194 logging.error("Error connecting to Solr: %s"%e) | |
| 195 return res | |
| 189 | 196 |
| 190 for x in range(begin,end,increment): | 197 for x in range(begin,end,increment): |
| 191 query={} | 198 query={} |
| 192 #query["%s__gt"%field]=x | 199 #query["%s__gt"%field]=x |
| 193 #TODO __gt scheint nicht zu funktionieren wird zu gte (???) | 200 #TODO __gt scheint nicht zu funktionieren wird zu gte (???) |
| 307 ranges[field.replace("_drg","__lte")]=splitted[1] | 314 ranges[field.replace("_drg","__lte")]=splitted[1] |
| 308 | 315 |
| 309 | 316 |
| 310 #teste verbindung zu solr | 317 #teste verbindung zu solr |
| 311 if not getattr(self,'_v_solr_',None): | 318 if not getattr(self,'_v_solr_',None): |
| 312 self.connect() | 319 try: |
| 313 | 320 self.connect() |
| 314 | 321 except Exception, e: |
| 322 logging.error("Error connecting to Solr: %s"%e) | |
| 323 return [] | |
| 315 | 324 |
| 316 solrQuery = solrQuery.decode('utf-8') | 325 solrQuery = solrQuery.decode('utf-8') |
| 317 | 326 |
| 318 #teile die suche nach " " daraus wird dann eine AND suche | 327 #teile die suche nach " " daraus wird dann eine AND suche |
| 319 #TODO: sollte flexibler sein. insbesondere phrasen | 328 #TODO: sollte flexibler sein. insbesondere phrasen |
