Commit Graph

339 Commits

Author SHA1 Message Date
David Sauve dbf8eb65d3 Ported build_params method form master and 1.0.X branches. 2011-08-08 15:07:16 -07:00
David Sauve a8453772e5 Removed leftover run and run_mlt methods. Replaced with overriden build_params. This should fix gh-85 and gh-82. 2011-08-08 14:53:32 -07:00
Michael Opitz 0741a63bf8 added :memory: option 2011-07-17 17:50:35 +02:00
David Sauve 23ca1ed97a Updated copyright notice. 2011-07-14 16:14:07 -07:00
David Sauve d32dde1b7b Updated copyright notice. 2011-07-14 16:12:59 -07:00
David Sauve af9ca09f27 Merge remote branch 'toastdriven/multipleindex' into 2.0.X 2011-07-05 09:08:14 -07:00
David Sauve 710e9b7368 Updated SearchQuery._content_field to properly build phrase queries, restricting them to the document field. 2011-06-15 15:07:22 -07:00
David Sauve 6a7c2ef9bf Added overridable weighting scheme through the use of a new setting named HAYSTACK_XAPIAN_WEIGHTING_SCHEME. 2011-06-13 13:37:29 -07:00
David Sauve 712958f0db Fixed to allow boost on phrase as well as single terms 2011-05-11 14:13:34 -07:00
Daniel Lindsley b0a7505253 Updated Xapian for the multiple indexes support in Haystack 2.X. 2011-05-08 23:21:14 -05:00
Daniel Lindsley 8112cf383d Added a failing test to demonstrate that respecting the current site isn't working. 2011-05-03 15:37:30 -05:00
Daniel Lindsley 8d3bc1a4ee Fixed results to now include the ``site``. 2011-05-03 15:14:58 -05:00
Daniel Lindsley 3b3834d8ed Fixed a bug so that ``ValuesListQuerySet`` now works with the ``__in`` filter. 2011-05-03 15:03:29 -05:00
Daniel Lindsley 9afba72cae Added ``result_class`` compatibility to match the other Haystack backends. 2011-05-03 15:03:07 -05:00
David Sauve 4f05cf7b13 Import MoreLikeThisError. This resolves issue 72 2011-04-07 16:46:29 -07:00
David Sauve b6b92c85de Moved queryparser flags to an overrideable setting (HAYSTACK_XAPIAN_FLAGS). Default values are stored in DEFAULT_XAPIAN_FLAGS 2011-03-25 18:32:57 -07:00
David Sauve dc11c14542 Updated copyright information 2011-02-01 14:59:13 -08:00
David Sauve 027e9bf1f1 Removed check for writable path in __init__. Thanks to Jacob Kaplan-Moss for pointing it out. 2011-02-01 14:54:08 -08:00
David Sauve fce97acf33 Set database = None to force closing at the end of the update call. 2011-01-04 12:52:47 -08:00
David Sauve 0442a35594 Added custom run and run_mlt methods to SearchQuery 2011-01-04 11:20:54 -08:00
David Sauve 4cdd01f47f Updated version number for release. 2010-12-20 11:45:31 -08:00
David Sauve 29ae7f7672 Merged field_weights branch 2010-12-20 11:40:46 -08:00
David Sauve a07a980662 Fixed broken __startswith (removing FLAG_PARTIAL changed how this works). This closes issue #64. 2010-12-12 13:28:53 -08:00
David Sauve b8427fa20e Changed get_matches_estimated to size using all documents. This should be more accurate. 2010-11-10 12:36:02 -08:00
David Sauve e65cecdb55 Potential fix for count being out of sync on large datasets 2010-11-10 10:55:34 -08:00
David Sauve fb0f883cb3 Updated build_schema to use field_type parameter instead of isinstance as updated in Haystack. 2010-11-10 09:46:04 -08:00
David Sauve 350beefe98 Updated clear method to use rmtree instead of cycling through and removing each document individually. Thanks j00bar. 2010-10-27 10:26:50 -07:00
David Sauve cbaae41511 Removed FLAG_PARTIAL from parse_query method. Is not neccessary and consumes a lot resources. 2010-10-27 09:59:57 -07:00
David Sauve 9caf1d4f3c Updated to work with facet field changes introduced in Haystack SHA 1fb315525e8e77bc4c75ce4e485781fdd91ef649 2010-10-27 09:48:43 -07:00
David Sauve 5551d45e49 Removed weight argument from call to SearchResult in search call. 2010-10-03 14:15:33 -07:00
David Sauve 99435741b2 Removed weight attribute from SearchResults generated. Is not used by Haystack. Thanks to liranz for pointing this out. 2010-10-02 08:23:16 -07:00
David Sauve ea60ae1ffe SearchQuery._term_query will now properly build a query for field id and django_ct 2010-08-10 10:43:21 -07:00
David Sauve 5180f5f00c Revert "Merged field_weights branch"
This reverts commit 660af5f564.
2010-08-05 10:02:59 -04:00
David Sauve 660af5f564 Merged field_weights branch 2010-07-21 19:13:26 -04:00
David Sauve 28d7284205 Added number of terms to consider in more_like_this when using ELITE_SET 2010-05-28 14:41:09 -04:00
Sym Roe e4707203f4 Use OP_ELITE_SET rather than OP_OR in more_like_this.
Because performance is really bad when using OP_OR with a large database.
2010-05-29 02:23:24 +08:00
David Sauve ba47d7b361 Updated for compatibility with Xapian 1.2 by removing depracted method calls and slightly refactoring the way queries are constructed. 2010-05-13 14:08:28 -07:00
David Sauve 41762d7c42 Better testing for whitespace in term indexing 2010-03-11 12:11:14 -05:00
David Sauve 962585a40d Added a check to ensure that we don't try to index empty terms 2010-03-11 09:45:06 -05:00
David Sauve 9d8af9cbcf Changed SearchBackend.update so that it indexes terms with punctuation as well as using the Xapian.TermGenerator. This allows terms like URLs to work as expected 2010-03-05 15:33:14 -05:00
David Sauve 306a6f153f Changed to use to correspond to change in Haystack introduced in SHA 9255c9 2010-02-25 11:10:10 -05:00
David Sauve 3ce0ad120d Updated to mirror changes to faceting in Haystack that were introduced in SHA c8f8d 2010-02-19 09:47:58 -05:00
David Sauve 097808ca44 Corrected an issue with stemming that caused it to be skipped when searching without limiting to a field 2010-02-12 14:40:14 -05:00
David Sauve 46764499d7 Added BACKEND_NAME='xapian' constant to remain consistent with Haystack 2010-02-09 21:09:33 -05:00
David Sauve e794f53c99 Rewrote __starts_with filter to be much more effecient by using a query_parser for the query fragment to expand wildcards 2010-02-09 14:04:53 -05:00
David Sauve d0c5e4380a Added the ability to override field names within the index as added in Haystack SHA f3bf9b7f 2010-02-08 20:28:51 -05:00
David Sauve 10408d356a Changed all instance of enquire.get_mset to use a wrapped, safer, version of get_mset. This version should automatically attempt to reopen a database connection if xapian.DatabaseModifiedError is raised 2010-02-06 10:45:26 -05:00
David Sauve a4e60604a3 Updated SearchBackend.update to be smarter when indexing multi-value fields and stemming. Will now only stem text fields and will properly index each field of a MultiValueField. 2010-01-27 19:37:49 -05:00
David Sauve 8a7afd50ec No longer add multi-value field values to the value area of the Xapian index 2010-01-27 16:14:05 -05:00
David Sauve 8b9ec85f36 Calculate end_offset as doccount - start_offset when end_offset is None 2010-01-27 15:55:34 -05:00
David Sauve 144c4e6225 Updated version number to 1.1.3beta 2010-01-27 09:18:42 -05:00
David Sauve 6596259b2d Fix for issue #31 -- OverFlow error. end_offset was being improperly calculated. 2010-01-27 08:46:37 -05:00
David Sauve 5f3ba78a26 Changed SearchResult.score to be the document percentage score instead of the weight. Added a new attribute that is the weight. 2010-01-19 15:27:16 -05:00
David Sauve 2864744bf3 Updated SearchQuery to accept an optional argument 2010-01-18 16:11:43 -05:00
David Sauve 5dcdaf1751 Fix for issue #36 -- DatabaseModifiedError 2010-01-15 10:02:04 -05:00
bkonkle 9ba7d0f8d5 Adjusted the query operations for boosts 2010-01-15 22:10:28 +08:00
David Sauve 4f0f219ede Updated with new version number 2009-12-09 11:29:34 -05:00
David Sauve 7626ee6e38 Moved schema generation out of database opening method and made it into a property that should be cached. 2009-12-08 13:18:17 -05:00
David Sauve d2750c58fa Added a friendlier error for when the index can not be opened 2009-12-08 12:21:04 -05:00
David Sauve f592114415 Added InvalidIndexError and test for write permissions on path 2009-12-08 11:44:10 -05:00
David Sauve 925b74c72c Fixed __version__. Had incorrect version number. 2009-12-08 09:58:23 -05:00
David Sauve 858fcf1523 Added a friendlier error for when the index can not be opened 2009-12-08 09:56:57 -05:00
David Sauve bd319a8a3a Removed a TODO that doesn't apply anymore 2009-12-08 09:19:06 -05:00
David Sauve 7d06ac5c89 Some docstring fixes 2009-12-07 20:02:39 -05:00
David Sauve f560d9eefe Updated release number 2009-12-07 09:57:03 -05:00
David Sauve 1ec4fdf7ab Added stemming support 2009-12-05 11:32:29 -05:00
David Sauve 72134e096b Query facets working again and reworked narrow to take a query_string instead of xapian.Query. This should be easier to use. 2009-12-05 10:43:52 -05:00
David Sauve 3752844e4a Fix for date facet when gap by month amount is larger than 1 2009-12-04 20:45:36 -05:00
David Sauve f1b7c04c12 Only thing missing now is query_facets 2009-12-04 20:30:26 -05:00
David Sauve 1fe78fc384 __lt is working 2009-12-04 16:44:36 -05:00
David Sauve 999800e4a8 __gt is working 2009-12-04 16:41:41 -05:00
David Sauve 253382b41a __startswith has been implemented in new branch 2009-12-04 15:41:32 -05:00
David Sauve 4ea6f5eda1 Added parse_query utility method for SearchBackend. This takes a query_string and attempts to convert it to a xapian.Query for use by search 2009-12-04 14:42:06 -05:00
David Sauve da34c32849 Added LiveLiveXapianSearchQueryTestCase 2009-12-04 14:16:08 -05:00
David Sauve 617f623b6b Order by is working 2009-12-04 10:27:23 -05:00
David Sauve 012ba98ed1 Added limit_to_registered_models in mlt 2009-12-03 16:48:21 -05:00
David Sauve 585ccfdac7 More like this is working 2009-12-03 16:40:33 -05:00
David Sauve ccde83ff8c Highlighting is working again 2009-12-03 13:49:26 -05:00
David Sauve a6e7670973 Added spelling suggestion 2009-12-03 12:20:04 -05:00
David Sauve 60e8925280 Changed is not to is when testing for list, tuple. Silly style thing. 2009-12-03 10:21:03 -05:00
David Sauve 4bff8c9376 Split marshalling into two methods: marshal_term and marshal_value as they should be done differently 2009-12-03 09:38:49 -05:00
David Sauve c2e33da295 Removed a bunch of search tests that were testing various query_string combinations. These are no longer relevant. 2009-12-02 15:05:53 -05:00
David Sauve 6ffeb96090 Removed SearchBackend.delete_index. Is not part of the API. 2009-12-02 13:35:00 -05:00
David Sauve 8351f79326 SearchBackend.update is working again 2009-12-02 13:10:30 -05:00
David Sauve 4b0f6520f1 Re-added xapian_backend tests. This is in a really rough state right now. Most tests are commented out. 2009-12-02 11:47:26 -05:00
David Sauve c6dd7b5deb Updated to GPLv3 to maintain compatibility with Apache license 2009-12-01 15:55:22 -05:00
David Sauve 2dd8104abf Added some docstrings to private methods that should make their uses more apparent 2009-12-01 09:19:30 -05:00
David Sauve d197014a82 Added support for not in 'in' based queries 2009-12-01 09:11:01 -05:00
David Sauve 09c12d88f7 Refactored some of the comon bits of query generation for phrase, all, and term based queries. Fixed 'in' based queries 2009-12-01 08:58:34 -05:00
David Sauve f027e26644 More refactor to keep things DRY 2009-11-30 16:49:47 -05:00
David Sauve bbb38e3ef6 Small refactor to make even 'exact' more DRY 2009-11-30 16:36:29 -05:00
David Sauve 2065ecee7f Small refactor to make 'exact'more DRY 2009-11-30 16:34:40 -05:00
David Sauve 99de351c79 Some minor formatting tweaks to code 2009-11-30 16:20:05 -05:00
David Sauve 2e3ed62c02 A whole lot of work on phrase and not operators. 2009-11-30 16:10:46 -05:00
David Sauve 12a7008777 Added a comment explaining the pure boolean subquery line 2009-11-30 06:26:34 -05:00
David Sauve 184f10af2d Converted model filtering to use pure boolean subquery 2009-11-29 19:12:59 -05:00
David Sauve 2a4b32f03b SearchQuery now supports model filtering 2009-11-29 17:06:29 -05:00
David Sauve 7dd36f47d8 Removed RESERVED_WORDS and RESERVED_CHARACTERS 2009-11-29 16:31:13 -05:00
David Sauve 3cacb54cf5 Added term boosting 2009-11-29 16:05:36 -05:00
David Sauve e9f2064454 Added tests for boolean query and datetime query. Also added test for phrase query. 2009-11-28 18:55:11 -05:00
David Sauve 1ce5b2ca14 Merged more master changes into next 2009-11-28 12:34:21 -05:00
David Sauve 500664a2e4 Merged master changes into next 2009-11-28 12:31:03 -05:00
David Sauve bff2a62f93 Small cleanup of unused cruft in SearchQuery 2009-11-19 15:06:12 -05:00
David Sauve b94eee10c5 Remove unused build_sub_query method 2009-11-13 11:48:16 -05:00
David Sauve 537b1802a3 Five tests. OR operator now working 2009-11-13 10:01:16 -05:00
David Sauve 09ffc6d481 Four tests passing now. Recursively parsing the search nodes and negated on NOT as required. 2009-11-13 10:01:15 -05:00
David Sauve 35f51e97bc Passing three tests. Empty query, single content value, multi-content values 2009-11-13 10:01:15 -05:00
David Sauve 529edc24b4 Passing first two tests... 2009-11-13 10:01:15 -05:00
David Sauve 30bc0d0805 More refactor work 2009-11-13 10:01:15 -05:00
David Sauve c89addc959 Work on refactoring. Eliminated a lot of useless code and started to implement build_query using xapian.Query 2009-11-13 10:01:15 -05:00
David Sauve 8c61cdc9c2 More changes to build_query 2009-11-13 10:01:14 -05:00
David Sauve 3334b94349 Started work in refactor 2009-11-13 10:01:14 -05:00
David Sauve d7e606f0d5 Five tests. OR operator now working 2009-11-13 10:00:37 -05:00
David Sauve 3c42660a47 Four tests passing now. Recursively parsing the search nodes and negated on NOT as required. 2009-11-13 10:00:37 -05:00
David Sauve 3280b89d73 Passing three tests. Empty query, single content value, multi-content values 2009-11-13 10:00:37 -05:00
David Sauve ef70ade65a Passing first two tests... 2009-11-13 10:00:36 -05:00
David Sauve 9b3b6d0b02 More refactor work 2009-11-13 10:00:36 -05:00
David Sauve df46eea292 Work on refactoring. Eliminated a lot of useless code and started to implement build_query using xapian.Query 2009-11-13 10:00:36 -05:00
David Sauve 8cfde151dd More changes to build_query 2009-11-13 10:00:36 -05:00
David Sauve c7744fee70 Started work in refactor 2009-11-13 10:00:36 -05:00
David Sauve a96ed9e216 Five tests. OR operator now working 2009-11-13 09:59:00 -05:00
David Sauve 84988c69f3 Four tests passing now. Recursively parsing the search nodes and negated on NOT as required. 2009-11-13 09:58:59 -05:00
David Sauve 5905909b7c Passing three tests. Empty query, single content value, multi-content values 2009-11-13 09:58:59 -05:00
David Sauve ac11ba627b Passing first two tests... 2009-11-13 09:58:58 -05:00
David Sauve 96f16cb4e6 More refactor work 2009-11-13 09:58:58 -05:00
David Sauve 555b13a5de Work on refactoring. Eliminated a lot of useless code and started to implement build_query using xapian.Query 2009-11-13 09:58:58 -05:00
David Sauve 30a8f8fc0c More changes to build_query 2009-11-13 09:58:57 -05:00
David Sauve 44bb6c6f48 Started work in refactor 2009-11-13 09:58:57 -05:00
William Shallum ad6b86e1da use time.strptime for compatibility with python 2.4 2009-11-13 04:34:31 +08:00
David Sauve abd5920645 Updated to use changed get_identifier method 2009-11-09 20:27:46 -05:00
David Sauve 204feae63e Updated to use new SQ objects 2009-10-21 10:22:29 -04:00
David Sauve fbeb54fa20 Modified SearchBackend to accept limit_to_registered_models in order to properly support in SHA b329b9795 of Haystack 2009-10-08 14:42:58 -04:00
Jannis Leidel a7e40c7482 Removed uneeded __init__.py in root dir. Added __version__ and __author__ information to backend file. 2009-10-02 00:35:34 +08:00
David Sauve b1f5ba9f13 Removed outdated warning regarding query facets 2009-09-17 14:00:36 -04:00
David Sauve 520713612a Added support for spelling_query in run method as added in django-haystack SHA 167030ae1e34e8e4ab5f765b5c4fcd62e6c7ad69 2009-09-17 13:39:52 -04:00
David Sauve e0c6b3d7b1 Added support for faceting when using MultiValueField 2009-09-16 14:07:24 -04:00
David Sauve 33ed2ce8a9 Changed highligting to not highlight any reserved words 2009-09-01 19:44:23 -04:00
Joshua Jonah c1fc676ecf Added ignore of 'select' operators in highlighting code. Should be replaced with a proper stopwords.txt file that can be optionally added as a settings.py constant.
Signed-off-by: David Sauve <dnsauve@gmail.com>
2009-09-02 06:11:54 +08:00
David Sauve 4761286851 Added missing docstring argument on _query method 2009-09-01 16:14:34 -04:00
David Sauve d593924386 Added float type to build_schema. Floats were being indexed as text. 2009-08-29 18:04:28 -04:00
David Sauve 4ea8271fb3 Changed the way int/long values are stored so that they are not serialised as xapian types. Instead, use 0 padded strings. 2009-08-28 10:42:58 -04:00
David Sauve 7c00117043 Fixed query string generation to work with NOT, gte, lte, lt, gt, and in. 2009-08-27 20:20:02 -04:00
David Sauve 6922b05f47 Better exclude query generation 2009-08-27 17:47:14 -04:00
David Sauve d8b709a80c Revert "Reverted not ordering. Put back check to push not to the end of query string."
This reverts commit a7fe00c058.
2009-08-18 21:19:51 -04:00
David Sauve a7fe00c058 Reverted not ordering. Put back check to push not to the end of query string. 2009-08-18 21:06:12 -04:00
David Sauve 3fd41552c3 Removed requirement stipulating first expression cannot be NOT. 2009-08-18 20:26:59 -04:00
David Sauve 2c406c7ace Allow exclude to work with in__ operator 2009-08-18 18:57:04 -04:00
David Sauve c02e0ecc01 Small refactor to move flag generation back into it's own private method. This way, it can be used by query and narrow query generation with out repeating code. 2009-08-18 16:30:15 -04:00
David Sauve bb38e1b83e Enable wildcard support on demand instead of always. Should reduce memory usage a bit. 2009-08-18 16:16:41 -04:00
David Sauve c113c0face Fix to ensure multiple expression query strings that begin with NOT are parsed corectly. This also changes the default flags to only use FLAG_PURE_NOT when needed 2009-08-18 15:52:34 -04:00