1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005
|
Changelog
=========
%%version%% (unreleased)
------------------------
New
~~~
- Support for nested documents (closes #170) [Chris Adams]
This adds support for Solr's nested documents in `Solr.add`
Thanks to @skirsdeda for the patch
- ZooKeeper can receive an existing KazooClient instance. [Chris Adams]
This simplifies advanced customization by allowing you to pass in an existing instance which is configured in whatever manner necessary.
Changes
~~~~~~~
- Logging: pass full request body + headers as extra data. [Chris Adams]
This doesn't affect the normal logging output but is helpful for
aggregation systems such as Sentry where the full request information
may be displayed for debugging purposes
- Basic max_retries for ZooKeeper. [Chris Adams]
Kazoo sets the default to hang forever which is frequently not the desired error-handling behavior. This makes it easier to set a limit on the number of retries and we use it in testing to avoid the suite hanging endlessly.
- Better error message for Solr failures. [Chris Adams]
Previously when ZooKeeper had no active shards pysolr
would return an error when `random.shuffle` received
an empty list. Now it will raise an exception which
will hopefully indicate just how bad the situation is.
- Remove __del__ methods. [Chris Adams]
The __del__ methods were added in an attempt to avoid Kazoo-related
failures as part of the SolrCloud support but can cause other problems
on different versions of Python (see #193).
Since the errors in question were observed during testing this commit
removes the __del__ methods and we will have to find an alternative for
making tests fail safely.
- Custom Commit Policy . [Evan Fagerberg]
Previously a ``Solr`` object assumed that an operation should commit by default.
It is generally good practice to limit the amount of commits to solr.
Excessive commits risk opening too many searcher or using too many system resources.
Therefore the commit policy is configurable via the ``always_commit`` attribute of
the ``Solr`` object.
Most solr configurations should already have an interval that defines how long to wait
before doing a commit to solr anyway. (Measured either in time or number of documents)
IMPORTANT: If you are upgrading to this version and need to keep committing by default,
change the Solr objects to have ``always_commit=True``.
Fix
~~~
- Set KazooClient timeout. [Chris Adams]
`__init__` was not actually passing this to the ZooKeeper client
Other
~~~~~
- Better docstring for SolrCoreAdmin. [Chris Adams]
Thanks to Patricio Del Boca (@pdelboca) for the patch.
Closes #185
- Require requests >= 2.9.1 (closes #177) [Chris Adams]
This will avoid compatibility issues on Python 3 which can produce
confusing errors.
- Merge pull request #203 from bendemott/documentation. [Chris Adams]
updated typo in documentation example
- Updated typo in documentation example. [Ben DeMott]
"Zookeeper" should be "ZooKeeper" on line 104 in README.rst
- Docs: note that add has commit=True by default (see #46) [Chris Adams]
Thanks to @mlissner
- Adds note about commit=True being the default. [Mike Lissner]
- Correctly handle time-zone aware dates (#201) [Andrew Kuchling]
Thanks to Andrew Kuchling (@akuchling) for the patch.
Closes #197, #198
- Oops.. Add a missing assert in tests. [Tadas Dailyda]
- Refactor _build_doc to be recursive and allow deeper document nesting,
fix tests accordingly. [Tadas Dailyda]
- Add some block join queries to test_search. [Tadas Dailyda]
- Add some nested docs to the tests. [Tadas Dailyda]
- Implement nested documents functionality. [Tadas Dailyda]
- ZooKeeper: by default use the same timeout for commands and
connections. [Chris Adams]
- Tox: run SolrCloud tests (parity with Travis CI) [Chris Adams]
- Update project URL. [Chris Adams]
v3.5.0 (2016-05-24)
-------------------
New
~~~
- Expose the full Solr response in `Results` [Chris Adams]
This makes life easier for anyone using custom extensions by
removing the need to create a `Results` subclass just to get
access to an extra dictionary key.
- More flexible control of request handlers. [nuarhu]
This allows configuring the default search handler and overriding it for every query method
Thanks to @nuarhu for the patch
- Start maintaining a changelog from gitchangelog. [Chris Adams]
- Overwrite flag for Solr.add (closes #182) [Chris Adams]
Thanks to @robinsonkwame for the patch
- SolrCloud support (see #138) [Chris Adams]
This optionally adds support for SolrCloud using the Kazoo client
library.
Thanks to @upayavira
Other
~~~~~
- V3.5.0. [Chris Adams]
- Merge pull request #192 from dhruvpathak/optimize_commit_flag. [Chris
Adams]
chg: `optimize()` also accepts `commit` flag
- Included commit flag in optimize() to let optimize call run with or
without commit. [dhruv.pathak]
- Merge pull request #188 from TigorC/master. [Chris Adams]
Removed py26 from tox.ini
- Removed py26 from tox.ini. [Igor Tokarev]
- Tests: avoid timeout-based CI failures. [Chris Adams]
These caused sporadic CI build failures and weren’t
otherwise testing actual functionality since we don’t have a
test which does something like SIGSTOP the test Solr server
long enough to confirm a timeout.
We’ll confirm that the timeout is passed through but
otherwise use the defaults.
- Update Travis CI badge in the README. [Chris Adams]
- Merge pull request #184 from atuljangra/master. [Chris Adams]
Correct documentation for `_update`
Thanks to @atuljangra for the patch!
- Merge branch 'master' of https://github.com/atuljangra/pysolr.
[atuljangra]
- Misleading comments. [atuljangra]
- Travis: use build matrix for regular and SolrCloud tests. [Chris
Adams]
- Test_cloud: remove dead code. [Chris Adams]
The first instance of test_custom_results_class was broken because it
used the wrong port but this wasn’t failing because the same method name
was redefined further down in the file and that used the updated port
config.
- PEP-8. [Chris Adams]
- ZooKeeper: log unexpected format changes to watched aliases. [Chris
Adams]
- ZooKeeper: restore JSON blob decoding. [Chris Adams]
- PEP-8. [Chris Adams]
- PEP-8 unused imports. [Chris Adams]
- PEP-8. [Chris Adams]
- PEP-8. [Chris Adams]
- PEP-8. [Chris Adams]
- Setup.cfg: add pep8 and isort config. [Chris Adams]
- Tear down requests.Session instance at close. [Chris Adams]
This avoids log-spew on modern unittest implementations
which report unclosed file handles at the end of a run.
- Remove Python 2.6 from Travis test matrix. [Chris Adams]
- Add __future__ absolute_import. [Chris Adams]
This is currently moot but avoids any chance of regression
between Python 2.x and 3.x.
- PEP-8. [Chris Adams]
- Drop support for Python 2.6. [Chris Adams]
We have some old import dances and other overhead for Python
2.6 support, which the CPython developers dropped support
for in 2013:
http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html
- Allow queries to be directed to different search handlers. [Chris
Adams]
The `search` method now allows you override the default `select` handler
when your Solr instance has multiple search handlers.
Thanks to @k-patel for the patch.
Closes #174
Closes #175
v3.4.0 (2016-02-02)
-------------------
- Update version numbers for v3.4.0. [Chris Adams]
- Logging: better message for HTTP status != 200. [Chris Adams]
We already extract error message from Solr responses and that is
great. Unfortunately it can contain the data that may change with
every request (like document id).
This creates an issue when user uses Sentry or other solution
that captures logging or exceptions. Previous implementation
causes many duplicated events in Sentry if message extracted
using `self._extract_error(resp)` contained such variable data.
This change uses 'non-mutable' message that is complemented
with extracted data that using string formatting option supplied
by Python logging. Thanks to this, Sentry and other solutions
can perform better grouping of loging messages (by status code).
This is approach that is already used in handling other errors.
- Fix response error handling on Python 3 (closes #162) [Chris Adams]
Previously the error handling did not work correctly on Python 3 because
a byte-string response wasn't decoded before processing.
Thanks to Emmanuel Leblond (@touilleMan) for the patch.
- Merge pull request #167 from swistakm/master. [Chris Adams]
Refactor common response processing to Results class
- Move response manipulation responsibility to Results class and allow
custom results classes. [mjaworski]
- Add Python 3.5 to automated test matrix. [Chris Adams]
v3.3.3 (2015-10-24)
-------------------
- V3.3.3. [Chris Adams]
- Fix response error handling on Python 3 (closes #162) [Chris Adams]
Previously the error handling did not work correctly on Python 3 because
a byte-string response wasn't decoded before processing.
Thanks to Emmanuel Leblond (@touilleMan) for the patch.
- Tests: upgrade Solr to 4.10.4. [Chris Adams]
* Resync test Solar script with django-haystack
These are still not quite the same; at some point it would be nice to
look into a common tool which both projects could use
* Update Solr configuration script to set correct libpath for solr-cell
to avoid lazy-load failures during testing as was reported on e.g. #162
- Tests: update Solr download script for recent API change. [Chris
Adams]
- Merge pull request #142 from yspanchal/master. [Chris Adams]
Add support for cursormark pagination
- Added cursormark deep pagination support. [Yogesh Panchal]
v3.3.2 (2015-05-26)
-------------------
- Version 3.3.2. [Chris Adams]
- Python 2.6 backwards compatibility. [Chris Adams]
Python 2.6 shipped with ElementTree 1.2.x. Among other differences, it
lacks support for the attribute selectors used to process valid XML
error messages, which was added in ElementTree 1.3.
- Merge pull request #155 from domenkozar/solr4/exceptions. [Chris
Adams]
Support Solr 4 XML error format parsing
Thanks @domenkozar for the patch
- Overhaul Travis config. [Chris Adams]
* Sidestep use of Tox in favor of Travis-managed Python versions
* Enable container-based builds
* Enable caching for Solr server downloads
- Use builtin unittest2 runner on Python 2.7 as well. [Chris Adams]
- Simple error extraction. [Chris Adams]
Previously pysolr depended on lxml and cssselect to extract
text from Tomcat’s error messages, which was unreliable.
This change uses regular expressions to deal with invalid
XML rather than lxml’s salvaging parser and avoids having
to maintain the code which attempted to find the main error
message in tag soup
Closes #149
- Update test Solr download script to work with default Python 3. [Chris
Adams]
v3.3.1 (2015-05-12)
-------------------
- Version 3.3.1. [Chris Adams]
- Prepare for 3.3.1 release. [Chris Adams]
- Convert all HTTP client errors to SolrError. [Chris Adams]
This commit ensures that an outside caller can handle all HTTP-related errors by catching SolrError without knowing whether the exception class is owned by requests, urllib3, or httplib.
- Merge pull request #146 from gryphius/fix_doc_typo. [Chris Adams]
Fix typo in ExtractingRequestHandler documentation
Thanks @gryphius
- Doc fix: a very simply model -> a very simple model. [Oli]
- Merge pull request #139 from upayavira/feature/no-optimize. [Daniel
Lindsley]
Optimize is no longer recommended
- Optimize is no longer recommended. [Upayavira]
Since Solr 3.6, Solr has used the TieredMergePolicy which makes,
in most scenarios, optimization a harmful rather than beneficial
step.
v3.3.0 (2015-02-03)
-------------------
- Bumped to v3.3.0! [Daniel Lindsley]
- Added @acdha to primaries for all his hard work. [Daniel Lindsley]
- Support Solr 4+ individual field updates (closes #129) [Chris Adams]
Now fields can be updated individually:
conn.add(docs, fieldUpdates={'myfield1_ss': 'add',
'myfield2_s': 'set',
'myfield3_i': 'inc'})
Thanks to Çağatay Çallı (@faraday) for the patch.
- Merge pull request #137 from LuRsT/patch-1. [Chris Adams]
Fixed syntax error in README.rst example (thanks @LuRsT)
- Fixed syntax error in README.rst example. [Gil Gonçalves]
- Add softCommit support (closes #98) [Chris Adams]
add() and commit() may now be called with softCommit=True
Thanks to @sicarrots for the patch
- Merge pull request #123 from ulivedit/master. [Chris Adams]
Python 3 compatibility for error message extraction (thanks @ulivedit)
- Fix python 3.4 error with forcing unicode strings. [Eric Hagman]
- Merge pull request #135 from Grokzen/master. [Chris Adams]
Use DEBUG_PYSOLR environmental variable to configure logging
This offers an alternative to editing pysolr.py or reconfiguring logging elsewhere
- Make it easier to debug pysolr via environment variable. [Johan
Andersson]
- Merge pull request #131 from andreif/highlighted-readme. [Chris Adams]
Highlight Python code in README.rst (thanks @andreif)
- Highlight Python code in README.rst. [Andrei Fokau]
- Add support for error responses in JSON format (closes #113) [Chris
Adams]
Thanks to @andreif for the patch and tests
- Merge pull request #125 from phill-tornroth/patch-1. [Chris Adams]
Fix get-solr-download-url.py for Python 2.6
- Fixes 'zero field length' error from `format()` [Phill Tornroth]
Unless I'm missing something... :)
- Travis: download Solr before starting tests. [Chris Adams]
This should avoid download errors being presented as test failures
- Tests: increase Solr startup timeout. [Chris Adams]
- Add test Solr tarball downloads to .gitignore. [Chris Adams]
- Tests: add Python 3.4 targets. [Chris Adams]
- Tests: use Solr 4.7.2 from nearest mirror (closes #115) [Chris Adams]
- Tests: add a script to retrieve the closest Apache mirror. [Chris
Adams]
See #115
- Merge pull request #111 from redjack/py26-tests. [Chris Adams]
Update 'run-tests.py' to invoke unittest2 correctly on Python 2.6
- Update 'run-tests.py' to invoke unittest2 correctly on Python 2.6.
[Andy Freeland]
- Expanded testing section of the README. [Chris Adams]
- Merge pull request #36 from glenbot/master. [Chris Adams]
Update to SolrCoreAdmin.create to use correct action
- Updated create command in SolrCoreAdmin to use correct action.
[glenbot]
- Fix type in SolrAdmin.create default parameter. [Chris Adams]
See #36
- Updated ignores. [Daniel Lindsley]
v3.2.0 (2014-01-27)
-------------------
- Bumped to v3.2.0! [Daniel Lindsley]
- Merge pull request #104 from tongwang/master. [Chris Adams]
Fix content extraction (thanks @tongwang)
- Remove unnecessary comment. [Tong Wang]
- Fixed both issues https://github.com/toastdriven/pysolr/issues/96 and
https://github.com/toastdriven/pysolr/issues/90 and updated test solr
sever from 4.1.0 to 4.6.0. All tests pass. [Tong Wang]
- Tests: set Tox basepython versions for tomcat tests. [Chris Adams]
- Tests: update test_full_url for multi-core config. [Chris Adams]
- Tests: expect content extraction to fail. [Chris Adams]
Once https://github.com/toastdriven/pysolr/issues/90 is fixed we can
re-enable this test
- Skip tomcat error tests when lxml is unavailable. [Chris Adams]
Until _scrap_response has a Tomcat path which doesn't depend on
lxml.html there's no point in running these tests on a different config
- Enable Travis CI. [Chris Adams]
- Use tox for testing multiple versions. [Chris Adams]
* Add a simple test-runner which handles starting and stopping Solr
* Added a basic tox.ini for Python 2.6, 2.7 and 3.3 with and without
Tomcat to keep us honest about extra_requires…
- Move test setup to script & update README. [Chris Adams]
This avoids the README drifting out of sync
- Bump requests dependency to 2.x for Unicode handling. [Chris Adams]
- Update testing instructions in the README after the Solr mirror went
away. [Chris Adams]
This uses the canonical Apache archive which should be more stable than the mirror we were using
- Merge remote-tracking branch 'anti-social/clean_xml' [Daniel Lindsley]
- Fixed error when invalid xml chars present in document. [Alexander
Koval]
- Merge remote-tracking branch 'anti-social/absolute_import' [Daniel
Lindsley]
- Added absolute_import. [Alexander Koval]
- Ignored env3. [Daniel Lindsley]
v3.1.0 (2013-07-17)
-------------------
- Bumped to v3.1.0! [Daniel Lindsley]
- Better Unicode behavior under Python 3. [Daniel Lindsley]
- Merge pull request #69 from zyegfryed/patch-1. [Daniel Lindsley]
Added MoreLikeThis handler to solrconfig.xml test cores.
- Added MoreLikeThis handler to solrconfig.xml test cores. [Sébastien
Fievet]
- README tweaks. Thanks to @msabramo for the original patch! [Daniel
Lindsley]
- Slightly better tomcat errors. [Daniel Lindsley]
- Improved scraping of tomcat error. [Dougal Matthews]
When scraping for the HTML error message include
the description if found.
- Merge pull request #86 from anti-social/fix_eval. [Chris Adams]
Fixed eval in the _to_python method (thanks @anti-social)
Ah, nice: since we no longer support Python 2.5 this is a great move.
- Fixed eval in the _to_python method. [Alexander Koval]
- Solr.add generator expression support (closes #81) [Chris Adams]
The only compatibility issue before was a logging statement using len()
on the input docs variable, which fails on generator expressions. Thanks
to @timsavage for a patch changing this to measuring the message which
is actually sent to Solr instead
- Enable request's session pooling (closes #82) [Chris Adams]
Performing requests using a session enables urllib3's connection
pooling, reducing connection latency.
Thanks @cody-young for the patch
Closes #83
v3.0.6 (2013-04-13)
-------------------
- Setup.py: require lxml 3.0+ for tomcat error messages. [Chris Adams]
* Bumped version to 3.0.6
- Merge pull request #71 from mjumbewu/master. [Daniel Lindsley]
Trailing slash in the base URL will break reqeusts
- Make sure trailing and leading slashes do not collide. [Mjumbe Wawatu
Ukweli]
v3.0.5 (2013-02-16)
-------------------
- Update error message string interpolation (closes #70) [Chris Adams]
Python's string interpolation requires a tuple, not a list
v3.0.4 (2013-02-11)
-------------------
- Tag version 3.0.4 for PyPI. [Chris Adams]
3.x had a minor bug (see SHA:74b0a36) but it broke logging for Solr
errors which seems worth an easily deployed fix
- Correct log.error syntax on timeouts. [Chris Adams]
v3.0.3 (2013-01-24)
-------------------
- Update version to 3.0.3. [Chris Adams]
Since python 2.6 compatibility was broken in 3.0+ this seems worth an update
- Force_unicode: backwards compatibility with Python 2.6. [Chris Adams]
v3.0.2 (2013-01-24)
-------------------
- Update version to 3.0.2. [Chris Adams]
- Fix rich content extraction method & tests. [Chris Adams]
* Update test setup instructions with content extraction handler
dependencies
* Enable file upload support to _send_request
* Added simple extract test
- Fix field boosting, simplify _build_doc. [Chris Adams]
* Ensure that numbers are converted to strings to avoid
lxml choking when asked to serialize a number (in 2013!).
* Refactor logic to have a single code-path for both single and
multi-value fields
* Refactor use **kwargs style so there's a single Element() create
call
- Force_unicode support for non-string types. [Chris Adams]
Now force_unicode(1.0) will return u"1.0" for consistency and to avoid confusion
with the Django function of the same name
v3.0.1 (2013-01-23)
-------------------
- Bumped to v3.0.1! [Daniel Lindsley]
- Updated README to include testing info & made sure the README gets
included n the package. [Daniel Lindsley]
- Updated ignores. [Daniel Lindsley]
v3.0.0 (2013-01-23)
-------------------
- Bumped to v3.0.0, adding Python3 support! [Daniel Lindsley]
Dependencies have changed & been slimmed down.
- Bumped to v2.1.0! [Daniel Lindsley]
- Catch socket errors for httplib fallback path. [Chris Adams]
- Catch IOError in _send_request. [Chris Adams]
httplib2 can raise a bare socket.error in _send_request, which handles only
AttributeError. This change catches all IOError subclasses, tells logging to
include exception information and moves logging code outside of the try/except
block to avoid any possibility of an exception in a log handler being caught by
mistake.
- Fall back to HTML title when scraping error messages. [Chris Adams]
Solr 3.6 + Jetty is not reliably detected by the existing approach but it does
return a reasonably useful message in the title which is a lot more informative
than "None"
- Provide full headers & response to logging handlers. [Chris Adams]
This allows handlers such as Raven / Sentry to do something smart
with the full HTTP headers and/or response body. Among other things
this should provide more insight in situations when pysolr currently
logs "Response: None"
- Full exception logging for basic connection failures. [Chris Adams]
- Logging: use obvious exc_info= syntax. [Chris Adams]
As per the documentation, logging exc_info just needs to evaluate to
True. This change makes it obvious that the passed in value is not
actually used in any other way
- Added gthb to AUTHORS. [Daniel Lindsley]
- PEP-8 nitpicks. [Chris Adams]
- Don't bork on response with no "response" attr. [Gunnlaugur Þór Briem]
(happens e.g. in grouped queries)
- Support 'grouped' in Solr results. [Gunnlaugur Þór Briem]
- Added ``extra_requires`` to cover the ``BeautifulSoup`` dependency.
Thanks to kylemacfarlane for the report! [Daniel Lindsley]
- Added pabluk to AUTHORS. [Daniel Lindsley]
- Updated README file with optional requirement. [Pablo SEMINARIO]
- Added kwargs to extract() method. [Pablo SEMINARIO]
- Avoid forcing string interpolation when logging. [Chris Adams]
This allows aggregators like Sentry and other consumers to see the raw,
unformatted string and variables so they can e.g. group all instances of the
same message even if the specific request values differ.
- Added HTTPS support for httplib. [Richard Mitchell]
- Added a long description for PyPI. [Daniel Lindsley]
- Added support for Solr rich-content extraction. [Chris Adams]
This exposes Solr's http://wiki.apache.org/solr/ExtractingRequestHandler which
allows you to index text content from structured file formats like PDF,
Microsoft Office, etc.
- Bumped for the next round of beta. [Daniel Lindsley]
- Added cordmata to AUTHORS. [Daniel Lindsley]
- Updated suggest_terms so that it correctly handles response from Solr
3.x releases. [Matt Cordial]
- Edited README via GitHub. [Daniel Lindsley]
- Bumped to v2.0.15! [Daniel Lindsley]
- Fixed a bug where ``server_string`` could come back as ``None``.
Thanks to croddy for the report! [Daniel Lindsley]
- Added dourvais & soypunk to AUTHORS. [Daniel Lindsley]
- Unescape html entities in error messages. [David Cramer]
- Added support for getting at the Solr querying debug data when using
search(). [Shawn Medero]
Passing ``debug=True`` as kwarg, the ``search()`` method will activate this property in the JSON results.
- Fixed bug, qtime wasn't set when it was 0. [Daniel Dourvaris]
- Added query time to results as attribute. [Daniel Dourvaris]
- Bumped revision for dev on the next release. [Daniel Lindsley]
v2.0.14 (2011-04-29)
--------------------
- V2.0.14. [Daniel Lindsley]
- Always send commit if its not-null. [David Cramer]
- Add support for waitFlush and waitSearcher on update queries. Added
support for expungeDeletes on commit(). Added support for maxSegments
on optimize() [David Cramer]
- Ensure port is coerced to an integer as (at least some version of)
socket does not handle unicode ports nicely. [David Cramer]
- Add support for commitWithin on Solr.add. [David Cramer]
- Better compatibility with the latest revisions of lxml. Thanks to
ghostmob for pointing this out! [Daniel Lindsley]
- Fixed occasionally trying to call ``lower`` on ``None``. Thanks to
girasquid for the report & original patch! [Daniel Lindsley]
v2.0.13 (2010-09-15)
--------------------
- Cleaned up how parameters are checked. Thanks to zyegfryed for the
patch. v2.0.13. [Daniel Lindsley]
- Fixed a bug in the weighting when given a string field that's
weighted. Thanks to akaihola for the report. [Daniel Lindsley]
- Fixed the case where the data being converted would be clean unicode.
Thanks to acdha for submitting another version of this patch. [Daniel
Lindsley]
- Fixed the long URL support to correctly deal with sequences. [Daniel
Lindsley]
- Fixed a bug where additional parameters could cause the URL to be
longer than 1024 even if the query is not. Thanks to zyegfryed for the
report & patch! [Daniel Lindsley]
- Boost values are now coerced into a string. Thanks to notanumber for
the patch! [Daniel Lindsley]
- All params are now safely encoded. Thanks to acdha for the patch!
[Daniel Lindsley]
- Added term suggestion. Requires Solr 1.4+. Thanks to acdha for the
patch! [Daniel Lindsley]
- If invalid characters are found, replace them. Thanks to stugots for
the report and fix. [Daniel Lindsley]
- Slicing ``None`` doesn't work. Make it a string... [Daniel Lindsley]
- Added basic logging support. Thanks to sjaday for the suggestion.
[Daniel Lindsley]
v2.0.12 (2010-06-20)
--------------------
- Releasing version v2.0.12. [Daniel Lindsley]
- Added a more helpful message for the ever classic "'NoneType' object
has no attribute 'makefile'" error when providing an incorrect URL.
[Daniel Lindsley]
- Added better error support when using Tomcat. Thanks to bochecha for
the original patch. [Daniel Lindsley]
- Fixed a long-standing TODO, allowing commits to happen without a
second request. Thanks to lyblandin for finally chiding me into fixing
it. [Daniel Lindsley]
- Fixed a bug when sending long queries. Thanks to akaihola & gthb for
the report and patch. [Daniel Lindsley]
- Corrected a bug where Unicode character might not transmit correctly.
Thanks to anti-social for the initial patch. [Daniel Lindsley]
- Added field-based boost support. Thanks to notanumber for the patch.
[David Sauve]
- Better error messages are now provided when things go south. Thanks to
bochecha for the patch. [Daniel Lindsley]
- Added support for working with Solr cores. Thanks to james.colin.brady
for the original patch. [Daniel Lindsley]
- Fixed a bug where empty strings/``None`` would be erroneously sent.
Thanks to Chak for the patch. [Daniel Lindsley]
- Added support for the Stats component. Thanks to thomas.j.lee for the
original patch. [Daniel Lindsley]
- Fixed datetime/date handling to use ``isoformat`` instead of manually
constructing the string. Thanks to joegermuska for the suggestion.
[Daniel Lindsley]
- Added document boost support. Thanks to Tomasz.Wegrzanowski for the
patch. [Daniel Lindsley]
- Fixed pysolr to add documents explicitly using UTF-8. Thanks to jarek
& dekstop for the patch. [Daniel Lindsley]
v2.0.11 (2010-04-28)
--------------------
- Fixed initialization parameters on ``Results``. Thanks to
jonathan.slenders for pointing this out. v2.0.11. [Daniel Lindsley]
- Added a sane .gitignore. [Daniel Lindsley]
v2.0.10 (2010-04-28)
--------------------
- Fixed a bug in URL construction with httplib2. Thanks to maciekp.lists
for the patch. v2.0.10. [Daniel Lindsley]
- Added a way to handle queries longer than 1024. Adapted from cogtree's
Python Solr fork. [Daniel Lindsley]
- Fixed isinstance bug that can occur with the now potentially different
datetime/date objects. [Daniel Lindsley]
- Altered pysolr to use, if available, Django's implementation of
datetime for dates before 1900. Falls back to the default
implementation of datetime. [Daniel Lindsley]
- If MLT was enabled but no reindexing was performed, Solr returns null
instead of no docs. Handle this slightly more gracefully. [Daniel
Lindsley]
- Corrected a regression when errors occur while using httplib. [Daniel
Lindsley]
- Bumped version number for previous commit. [Daniel Lindsley]
- Altered the '_extract_error' method to be a little more useful when
things go south. [Daniel Lindsley]
- Bumped version for previous commit. [polarcowz]
- Added (optional but default) sanitizing for updates. This cleans the
XML sent of control characters which cause Solr's XML parser to break.
[polarcowz]
- Fixed up a couple distribution bits. [polarcowz]
- Added spellchecking support. [polarcowz]
- Added timeouts (optional if httplib2 is installed). [polarcowz]
- Fixed DATETIME_REGEX & _from_python to match Solr documentation.
Thanks initcrash! [polarcowz]
- Under some circumstances, Solr returns a regular data type instead of
a string. Deal with it in _to_python as best as possible. [polarcowz]
- Added '_to_python' method for converting data back to its native
Python type. Backward compatible (requires manually calling).
[polarcowz]
- Updated pysolr to version 2.0. [polarcowz]
New bits:
* Now uses JSON instead of parsing XML. (jkocherhans)
* Added support for passing many types of query parameters to Solr. (daniellindsley)
* Added support for More Like This (requires Solr 1.3+). (daniellindsley)
* Added support for highlighting. (daniellindsley)
* Added support for faceting. (daniellindsley)
Ought to be fairly backward-compatible (no known issues) but caution is advised when upgrading.
Newly requires either the 'json' or 'simplejson' modules.
- Added the stuff needed to easy_install pysolr. And a LICENSE, since I
just made fun of another project for not having one.
[jacob.kaplanmoss]
- It would probably help if I imported the correct thing. [jkocherhans]
- This is getting a bit hairy, but try to import ElementTree from lxml
as well. [jkocherhans]
- Use cElementTree if it's available. [jkocherhans]
- Removed unused import. Thanks, jarek.zgoda. [jkocherhans]
- Removed default values for start and rows from the search method.
Thanks, jarek.zgoda. This will allow people to let solr determine what
the default for those should be. [jkocherhans]
- Added converters for float and decimal. This references Issue 1.
Thanks, jarek.zgoda. [jkocherhans]
- Fixed a bug for connections that don't specify a port number.
[jkocherhans]
- Fixed Python 2.5-ism. [jkocherhans]
- Allowed for connections to solr instances that don't live at /solr.
[jkocherhans]
- Added multiValue field handling support. [jkocherhans]
- Broke results out into a separate object with docs and hits
attributes. [jkocherhans]
- Fixed typo that caused breakage with python < 2.5. [jkocherhans]
- Fixed a small typo. [jkocherhans]
- Initial import of pysolr. [jkocherhans]
- Initial directory structure. [(no author)]
|