Commits on Oct 28, 2015
  1. Merge branch 'extra_options' of

    …into aptivate-extra_options
    committed Oct 28, 2015
  2. Merge branch 'aptivate-xinclude'

    committed Oct 28, 2015
  3. Merge branch 'xinclude' of into …

    committed Oct 28, 2015
  4. Merge pull request #85 from aptivate/multiple_fq_params

    Multiple fq params
    committed Oct 28, 2015
  5. Merge pull request #92 from arafalov/master

    Add Solr 4.8 flatter schema support
    committed Oct 28, 2015
  6. Merge pull request #87 from mehaase/facetranges

    Facet ranges (take two)
    committed Oct 28, 2015
Commits on May 30, 2014
  1. Add Solr 4.8 flatter schema support

    To address tow/sunburnt#90
    arafalov committed May 30, 2014
Commits on Mar 17, 2014
  1. Large refactoring for #76.

    Did a lot of cleanup, squashed commits (to get rid of some ugly
    version history), and implemented tow's requests.
    mehaase committed Mar 17, 2014
Commits on Feb 27, 2014
  1. Add tests for q vs fq handling across multiple queries

    We expect all query calls to be combined into a single q parameter, but
    we expect each filter call to produce a separate fq parameter
    foobacca committed Feb 27, 2014
  2. Allow multiple fq parameters to be added

    Before this commit, sunburnt would combine all filters into one fq
    parameter.  This means that the combined filter would be added to Solr's
    filter cache.  But often what we actually want is for each filter to go
    into the filter cache separately, so they can be reused and recombined
    So in this commit we create a FilterOptions class that maintains a list
    of LuceneQuery objects.  When the options() method is called it returns
    a list, and when this is URL encoded, we end up with multiple fq
    It's possible that this will cause minor changes in behaviour for
    existing users of sunburnt.  The results returned should be the same,
    but the filter cache usage will be different.  For most users I imagine
    this is going to lead to better performance, but it's possible it might
    have a negative impact on some use cases.
    foobacca committed Feb 27, 2014
Commits on Feb 17, 2014
  1. Merge pull request #83 from evansd/support-requests-http-library

    Support `requests` http library
    committed Feb 17, 2014
Commits on Feb 12, 2014
  1. Allow for the xinclude file to not be found

    Including adding tests for that case
    foobacca committed Feb 12, 2014
Commits on Feb 11, 2014
  1. Support using `requests` in place of `httplib2`

    This removes the explicit dependency on `httplib2` and now attempts to
    import `requests`, falling back to `httplib2` and finally raising an
    `ImportError` if neither is available. The `http_connection` argument
    accepts either a `requests.Session` object or an `httplib2.Http` object.
    evansd committed Feb 11, 2014
  2. Use schema spread across multiple files using xinclude

    It is valid for Solr to use a schema spread across multiple files using
    lxml supports assembling them via the xinclude() method.  However it
    can only do that on a set of files on the local filesystem.
    With this commit, sunburnt will parse the schema.xml and see if there
    are any xinclude elements in it.  If there are it will fetch the
    required files via the Solr admin, save them all locally and use them.
    Before this commit, the SolrInterface class would fetch the file and
    pass it to the SolrSchema class where the parsing would be done.  But we
    now have a loop where we parse a file we've fetched, and depending on
    the results of the parse we might have to fetch more files.  So this
    commit means we have to mix those two steps in a single class -
    To keep the external interface to SolrSchema backwards compatible it can
    take either a file like object which it will parse, or a tree object
    that it will use directly.  Bit of a hack I know.
    foobacca committed Feb 11, 2014
Commits on Jan 14, 2014
  1. Add extra_options to search

    My use case is just to add defType=edismax which means I get better
    results.  The way to use it is to do:
        myquery = myquery.add_extra(defType='edismax')
    And you could also use it to add other dismax parameters (eg qf, mm ...)
    There are probably better ways to do this, and it is certainly unsafe
    with zero error checking, but it allows me to do what I need.
    foobacca committed Jan 14, 2014
Commits on Nov 25, 2013
  1. Merge pull request #79 from evansd/master

    Use `dir` builtin, rather than traversing __dict__
    committed Nov 25, 2013
  2. Use `dir` builtin, rather than traversing __dict__

    This captures attributes inherited from parent classes which the old
    method missed. It also respects customizations that objects might make
    to their own __dir__ representation. Plus it's shorter!
    We also remove the `hasttr('items')` check as this is redundant: the
    only place which calls this function already checks for this.
    evansd committed Nov 25, 2013
Commits on Nov 19, 2013
  1. Make readable/writable a property of the SolrConnection

    * previously it was on the SolrInterface, which meant you
    couldn't create a query() for a delete() on a write-only core
    committed Nov 19, 2013
Commits on Nov 12, 2013
  1. Merge pull request #67 from davidjb/patch-1

    Fix querying documentation on faceting
    committed Nov 12, 2013
  2. Merge pull request #68 from davidjb/patch-2

    Correct minor changelog merge issue
    committed Nov 12, 2013
  3. Merge pull request #75 from helix84/doc-fieldnames

    Documentation for field names
    committed Nov 12, 2013
  4. Documentation for field names

    helix84 committed with ctenar Oct 24, 2013
  5. Merge pull request #74 from simon-liu/fix-doc

    fix typo error
    committed Nov 12, 2013
  6. Merge pull request #78 from evansd/master

    Merge Timetric changes
    committed Nov 12, 2013
  7. Merge Timetric changes

    evansd committed Nov 12, 2013
  8. Merge pull request #77 from evansd/support_solr_json_api

    Support Solr JSON api
    committed Nov 12, 2013
  9. Typo fix and comment

    evansd committed Nov 12, 2013
  10. More efficiency improvements for JSON client

    The general principle here is that because the dicts json.loads gives us
    are very close to the final format we want, we can just do a few
    in-place modifications to these dicts rather than build entirely new
    data structures.
    evansd committed Nov 12, 2013