Commit Graph

1848 Commits

Author SHA1 Message Date
kimchy 245d241a5c handle any exception on first phase 2011-02-17 02:06:59 +02:00
kimchy 09d650fae7 Index Status: Peer recovery does not compute the index size correctly to report the full size, closes #695. 2011-02-17 01:43:56 +02:00
kimchy fb90392040 add status based test 2011-02-17 01:28:54 +02:00
kimchy 6ffd60dfb5 change var name to better reflect the fact that its data and not work 2011-02-17 01:07:05 +02:00
kimchy 3c9dafe67b better reason for disco state change 2011-02-16 23:30:40 +02:00
kimchy bc504d6c08 add simple netty benchmark 2011-02-16 08:17:31 +02:00
kimchy 2f5dd85bd5 change handlers from CHM to volatile Immutable Map 2011-02-16 05:24:29 +02:00
kimchy 3679efa840 default management TP to max at 20 2011-02-16 02:44:48 +02:00
kimchy 087f5d6bea fix scheduling to actually schedule the correct runnable 2011-02-16 02:44:24 +02:00
kimchy d1d3f8c4ca REST codes: Improve returned error codes on REST APIs, associate codes with internal exceptions, closes #690. 2011-02-16 01:41:01 +02:00
Lukáš Vlček 12a33e6a91 Add new Access-Control-Allow-Headers value into http response header, closes #688 2011-02-15 23:53:53 +02:00
kimchy 442ce9daaa ignore closed exception when async loading bloom filters 2011-02-15 23:23:49 +02:00
kimchy f14305e95c upgrade to jackson 1.7.3 2011-02-15 20:57:13 +02:00
kimchy 36efde8c1d simplify threaded listener invocation by wrapping the listener with a threaded listener and not check in each action for it 2011-02-15 07:52:24 +02:00
kimchy 3ed848a495 ThreadPool: Refactor into several pools, with configurable types per pool, closes #687. 2011-02-15 07:00:24 +02:00
kimchy 1b5cdb181a Query: boosting query, closes #683. 2011-02-11 19:59:15 +02:00
kimchy 65197ba39d don't return null highlighted fields if no highlighting was done 2011-02-11 18:31:09 +02:00
kimchy d054c8c14e use cached thread pool to do cluster state gateway snapshotting 2011-02-11 03:14:13 +02:00
kimchy e63e5f232c only actually fork to another thread if a flush is really needed 2011-02-11 02:35:02 +02:00
kimchy fc88cccfb4 only fork a refresh if it actually needs to be refreshed 2011-02-11 02:27:29 +02:00
kimchy 7c4d574a32 only call refresh if its needed, so we check outside of the readLock when async refreshing 2011-02-11 01:53:48 +02:00
kimchy df4f4f056a protected against a possible null for lastGC in the previous collection 2011-02-11 01:48:23 +02:00
kimchy 260aab21fd filtered collector should set the next reader on the wrapped collector 2011-02-11 00:34:20 +02:00
kimchy 44b06bee3b open indexing searcher lazily when indexing, and not when flushing 2011-02-10 20:31:01 +02:00
Alberto Paro 7bbf69b194 Added support to define rest actions in plugins 2011-02-10 19:00:17 +02:00
Alberto Paro 35c339f5f3 Removed empty fragments in highlight results 2011-02-10 19:00:17 +02:00
Alberto Paro 5ea58a3387 Don't fail search if highlight field is missing for a specific type. Close #682 2011-02-10 19:00:17 +02:00
kimchy a3af51a1d9 add fixed thread pool module so one can create it 2011-02-10 17:42:34 +02:00
kimchy 2e12e5b279 make optimize default parameters constants 2011-02-10 16:48:05 +02:00
kimchy 9ae9ab9553 add flush to search 1 stress test 2011-02-10 16:47:43 +02:00
kimchy 57108c8575 REST API: Failure to index docs that have their ids URL encoded and contain `/`, closes #681. 2011-02-10 03:18:01 +02:00
kimchy 89ac4d108a make forkjoin an option in fixed thread pool 2011-02-10 00:05:08 +02:00
kimchy 30510a8320 add forkjoin TP 2011-02-09 23:47:38 +02:00
kimchy 5e96d3d93d add fixed thread pool (mainly for internal testing for now) 2011-02-09 23:47:13 +02:00
kimchy 5047f4aa6f fix wrong parsing of of version / explain causing NPE on search 2011-02-09 22:56:52 +02:00
kimchy 2b8a6742dd move transport benchmark to the micro bench 2011-02-09 22:50:44 +02:00
kimchy b26d86293f terms facet on an IP field returns terms as numbers, not IPs, closes #678. 2011-02-09 21:37:42 +02:00
kimchy d35f397608 remove timer service 2011-02-09 19:01:05 +02:00
kimchy 9f2afeb4ca move to use scheduled TP and not timer service 2011-02-09 17:21:16 +02:00
kimchy 27d6c71d5b move to use scheduled TP and not timer service 2011-02-09 16:47:04 +02:00
kimchy ccb30d42e9 move to use a single thread for the scheduled tasks, forking where need to another TP 2011-02-09 16:25:09 +02:00
kimchy f6dced3750 upgrade to netty 3.2.4 2011-02-09 02:07:02 +02:00
kimchy d442f33d0b more api cleaning 2011-02-09 00:37:27 +02:00
kimchy f7aee2a423 clean thread pool interface 2011-02-09 00:30:21 +02:00
kimchy f09a66bf12 upgrade to latest jsr166y code 2011-02-09 00:26:09 +02:00
kimchy ff044c1882 Add safeJsonBuilder and safeSmileBuilder for cases where the builder needs to be used outside the scope of directly passing it to an API 2011-02-08 23:41:20 +02:00
kimchy 9c011d5b79 improve get perf by using bloom filter to fetch the doc 2011-02-08 23:40:49 +02:00
kimchy 7a8995e6a8 add max_size to bloom filter, defaults to 500m 2011-02-08 23:02:29 +02:00
kimchy 1db2d993cb have a 500 million docs cap on the creation of a bloom filter 2011-02-08 22:57:50 +02:00
kimchy 4bcedde011 don't require to provide the type of the doc in the doc element in percolator request, also, change the REST endpoint for percolator to include the type, basically: {index}/{type}/_percolate 2011-02-08 22:24:44 +02:00
kimchy 3062d5b86c nice usage of versioning parse element 2011-02-08 17:50:28 +02:00
kimchy ac8646deb7 Search: By default, don't return the version per hit, unless `version` is set to `true`, closes #676. 2011-02-08 17:48:13 +02:00
kimchy 18ff92662e bulk request does not refresh on shard replicas 2011-02-08 15:03:03 +02:00
kimchy 4084db378d more eager refresh logic, execute a refresh even if one is on going so no operations are missed 2011-02-08 12:52:45 +02:00
kimchy 37b1415b57 Improve error when creating a percolator with no query, closes #669. 2011-02-08 11:57:07 +02:00
kimchy da9f4992e0 flush with full=true is broken: this IndexWriter is closed, closes #670. 2011-02-08 11:50:23 +02:00
kimchy 059936fc84 make custom CMS static 2011-02-08 11:41:08 +02:00
kimchy 43a95de9db dynamic flag on object type should lower case itself when serialized back to its json representation 2011-02-08 11:38:02 +02:00
kimchy b8c644cab5 ip mapping no longer enabled 2011-02-08 11:24:14 +02:00
kimchy 490ddc5d1d ip mapping no longer enabled 2011-02-08 11:08:50 +02:00
Edward Dale f319625cb5 Adding Analysis.getWordList method which retrieves list of words from setting or file specified by setting. 2011-02-08 11:02:18 +02:00
Edward Dale c95544141b Adding a decompounding token filter. 2011-02-08 11:02:18 +02:00
kimchy a663b7ced9 default snowball token filter to English (similar to the analyzer) 2011-02-08 01:38:09 +02:00
kimchy 689b20a518 Mapping: Disable automatic ip type detection on new fields, closes #674. 2011-02-08 01:14:34 +02:00
kimchy 4319e3cb05 add a test to fetch just an array element (which has no mapping) 2011-02-07 20:24:15 +02:00
kimchy f0a8bf3783 remove monitoring dead locks 2011-02-06 23:37:38 +02:00
kimchy 3dc3206e0f don't use time estimator to wakeup a thread each time 2011-02-06 23:33:11 +02:00
kimchy 02a2ebb84b add geo_bbox as an alias to geo bounding box 2011-02-06 21:58:49 +02:00
kimchy 151e24c5bd upgrade to jackson 1.7.2 2011-02-03 23:36:55 +02:00
kimchy 1f68d7eabf when introducing a new type or new fields as part of an index request, wait (with a cap) until they are introduced on to the cluster before returning from the index request 2011-02-03 22:55:16 +02:00
kimchy 28dbbaa3fa allow to set an internal source builder on search request builder 2011-02-03 22:54:31 +02:00
kimchy 00cba66eb8 move to use mvel 2.1.RC1 2011-02-03 11:29:24 +02:00
kimchy 5fe2615ba7 Index Status: Add primary store size to include only primary shards store sizes, also move index store and translog into their own elements, closes #666. 2011-02-03 00:50:24 +02:00
kimchy 13869239b0 better help on -url for plugin command 2011-02-02 17:56:57 +02:00
kimchy 904bee12bc Search: Failure when sorting on `short` type, closes #665. 2011-02-02 17:55:21 +02:00
kimchy 95ea6153a7 no need for thread pool to notify listeners 2011-02-02 16:16:29 +02:00
kimchy da17be34c1 if no shards are allocated for a deleted index, then no need to wait for a response 2011-02-02 15:28:48 +02:00
kimchy 4ed82023ce another embedded test for query and fetch on a single shard 2011-02-02 14:04:24 +02:00
kimchy 0bce34cb5a optimize single shard search (or search result) by not doing another round of sorting 2011-02-02 13:52:34 +02:00
kimchy 8c196d8b84 better logging, and disable strange failure in thread locals test when run with gradle (for now) 2011-02-02 12:15:18 +02:00
kimchy 3f62b9ea96 check for trace logging 2011-02-02 11:25:13 +02:00
kimchy c86551d9b5 move master node tests to cluster package, and force it to use zen disco always 2011-02-02 11:15:12 +02:00
kimchy d2a3f5142f improve the order of shutdown of top level components in node, close indices first and applying cluster changes, also, improve atomicity of closing of indices and shards 2011-02-01 23:10:15 +02:00
kimchy eb1db1140b better to close the channels on another thread as well, just to be safe 2011-02-01 23:08:52 +02:00
kimchy 8587f16119 make sure to call releaseExternalResources on another thread to make sure its not called from a netty IO handler 2011-02-01 22:16:09 +02:00
kimchy 237e936884 if action is performing the operation, return true to indicate it 2011-02-01 17:00:59 +02:00
kimchy 8927e1dee4 Search Scripts: Allow to access score in facet related scripts using `doc.score`, closes #663. 2011-02-01 13:41:58 +02:00
kimchy cc6f65f8b8 Search: When sorting, allow to pass `track_scores` and set it to `true` to get scores/max_score back, closes #662. 2011-02-01 12:38:46 +02:00
kimchy 5da14a7ed1 Geo: All geo components that accept an array of [lat, lon] to change to do [lon, lat] to conform with GeoJSON, closes #661. 2011-02-01 01:39:01 +02:00
kimchy f8b5628db9 have rolling restart stress test create incremental ids 2011-01-31 21:41:46 +02:00
kimchy c7add5f377 upgrade to mvel 2.1 snapshot to gain performance improvements 2011-01-31 21:41:23 +02:00
kimchy 54c770bcc9 improve hash wheel timer 2011-01-31 16:26:17 +02:00
kimchy cebdae5707 refactor script execution handling to improve performance, also introduce specific search script executor 2011-01-31 16:08:06 +02:00
kimchy 5d39cc93dd refresh for test 2011-01-31 15:51:39 +02:00
kimchy 04c2a2a543 move ngram to the default processor 2011-01-31 11:52:02 +02:00
kimchy e85f9c276f only allow _score to be used, and remove score from custom_score scripts 2011-01-31 02:19:41 +02:00
kimchy bdb87c7a62 refactor a bit search script execution 2011-01-31 01:29:30 +02:00
kimchy 919143f6b6 don't break if no document mapper exists 2011-01-31 00:00:24 +02:00
kimchy e516051ea5 Search: When fetching _parent, only the _id should be returned, and not type#id, closes #658. 2011-01-30 21:16:45 +02:00
kimchy 8b9ec890c3 Thread Pool: Increase the keep alive time of threads from 60 seconds to 60 minutes, closes #657. 2011-01-30 20:34:34 +02:00
kimchy 5b4846b0b6 Translog Flushing: Improve logic, flush not just by operations in the translog, closes #656. 2011-01-30 17:41:22 +02:00
kimchy 8884b575c1 more doc 2011-01-30 16:30:17 +02:00
kimchy 94c632b79b Java Client - Allow to set facets in binary format, closes #442. 2011-01-30 15:53:10 +02:00
kimchy e5db3175fb add explicit internal methods for getting doc fields 2011-01-30 00:34:50 +02:00
kimchy ad4bb464e8 upgraded to new trove, major upgrade, better perf, but damn, 2mb larger in size... 2011-01-30 00:05:56 +02:00
kimchy 0b09fd0806 Facets: Remove redundant data returned as part of facet response (for example, the field name being faceted), closes #655. 2011-01-29 20:44:58 +02:00
kimchy 7fa5b0cb57 only add highlighted fragments that have a score > 0 (when ending up using the default highlighter) 2011-01-29 15:29:25 +02:00
kimchy 2d94087f90 explicitly set optimize parameters when doing async merge 2011-01-29 04:11:56 +02:00
kimchy 4a27671d0c moe internal stats on translog 2011-01-29 04:04:58 +02:00
kimchy 332c4cfa53 use bloom filter to reduce seeks when needing to load version 2011-01-29 03:55:00 +02:00
kimchy ead4d600be add a test for term docs version deletes 2011-01-27 00:00:29 +02:00
kimchy 30f54fe23e change default async interval to 1 second, to do merges (if needed) more often 2011-01-26 23:29:24 +02:00
kimchy 00fa7c95fb improve test time 2011-01-26 23:04:10 +02:00
kimchy 5ecb847a3a improve test time 2011-01-26 22:59:35 +02:00
kimchy 24d5a758f0 fix thread name 2011-01-26 22:43:02 +02:00
kimchy c7e73e4558 tookInMillis is not serialized over network for bulk response 2011-01-26 22:41:41 +02:00
kimchy 6c21c30f31 Index Merge: Improve internal (segment) merging by not initiating it on doc operations, closes #653. 2011-01-26 22:39:40 +02:00
kimchy e1d56ea467 call maybeMerge outside of writeLock to reduce work done under writeLock 2011-01-26 17:16:32 +02:00
kimchy 5a4686aee5 Search: Allow to pass a search filter, applying only on the query (and not on facets for example), closes #650. 2011-01-26 12:55:30 +02:00
kimchy 10ff150bb8 don't log index missing exception when trying to optimize single shard search request 2011-01-25 18:29:28 +02:00
kimchy 00aad4c123 rename tests 2011-01-25 14:40:04 +02:00
kimchy a5e02d559f optimize single index conversion from alias to concrete index 2011-01-24 21:25:20 +02:00
kimchy 95dc08fa3b refactor search tests into separate packages 2011-01-24 16:06:28 +02:00
kimchy 256f1d3611 add a test for collector ordering 2011-01-24 13:58:09 +02:00
kimchy 9735d3e6d7 don't establish a connection between two client nodes 2011-01-24 13:34:43 +02:00
kimchy 9d75849362 better shutdown of sockets 2011-01-24 13:15:57 +02:00
kimchy 3537de4530 don't have the constructor private 2011-01-23 21:07:04 +02:00
kimchy 95b6184135 Terms Facets: Allow to get `all_terms` back (possibly with count 0), closes #647. 2011-01-23 16:09:18 +02:00
kimchy 85ee6eaf10 add logging on which state file failed to load 2011-01-23 02:59:42 +02:00
kimchy ce4f09c2b1 Strict dynamic setting: Refuse to index a document with fields not present in the mapping definition, closes #643. 2011-01-22 01:08:41 +02:00
kimchy 3907c8c680 add a test for custom type class name in token filter factory 2011-01-21 02:07:02 +02:00
kimchy 9801ddeb0d Analysis: Add phonetic token filter (metaphone, soundex, ...), closes #644. 2011-01-21 01:57:16 +02:00
kimchy 5316cd1931 should be debug logging, not warn 2011-01-20 17:38:24 +02:00
kimchy 545d8f35df No cluster name filtering when sniffing is not enabled, closes #637. 2011-01-20 17:28:45 +02:00
kimchy 9ff8006d37 have compilation and javadoc use UTF8 encoding 2011-01-20 14:24:12 +02:00
kimchy 034a66263a Analysis: Add stemming to czech analyzer, closes #642. 2011-01-20 13:30:48 +02:00
Lukáš Vlček e0fa15a365 added Czech Stemmer, closes #635 2011-01-20 12:34:51 +02:00
kimchy 04f8b55686 ES hangs connection when parent is not specified in bulk index, closes #641. 2011-01-20 12:28:55 +02:00
kimchy b4467c7d1f use caching scorer when there are multiple collectors, so if they call score as well, it will not be computed again 2011-01-19 22:59:28 +02:00
kimchy 7359f7983f handle rest HEAD on / path 2011-01-19 21:56:53 +02:00
kimchy b1d13febbf Percolate on Index and Bulk, closes #636. 2011-01-19 16:45:45 +02:00
kimchy 2eb8278a80 better logging when not allocating a shard due to required number of existing shards 2011-01-19 00:30:56 +02:00
kimchy 574c455203 Terms Facet: Add option include counts where term is missing, closes #632. 2011-01-18 21:51:16 +02:00
kimchy e4a6e99f69 improve handling when not to persist current state to gateway based on blocks and have a block indicate if it also blocks state persistence 2011-01-18 15:28:55 +02:00
kimchy 87d5a92edb move handling of recovered metadata to GatewayService, reducing code duplication in different gateway implementations 2011-01-18 14:38:10 +02:00
kimchy a4c2087511 initial not recovered block on node init, and remove it as usual (once node is initialized / recovered) 2011-01-18 14:08:45 +02:00
kimchy 4750ccdc1c move nullable annotation to the common package, and move javax inject (from guice 3) to internal common as well 2011-01-17 19:45:37 +02:00
kimchy ba725f8986 fix a (rare) case where search will fail due to failed serialization 2011-01-17 14:37:36 +02:00
kimchy b4e5a542f3 internal refactoring/simplification in percolator 2011-01-17 13:57:32 +02:00
kimchy f2bd2c7bbd protect against a case when string field data value is null 2011-01-17 12:39:11 +02:00
kimchy 89d31bbfde properly print debug statement when nodes based operations fail 2011-01-17 12:38:08 +02:00
kimchy f55fa4223e improve loading queries by adding all of them in batch to the executor 2011-01-17 11:11:13 +02:00
kimchy 20c77a2ac5 clear the percolator reader from the cache explicitly 2011-01-17 10:11:14 +02:00
kimchy 1f289df128 more append benchmark 2011-01-16 12:47:54 +02:00
kimchy 285afe8053 add refresh interval to os/process/network info api which represents the refresh interval of their respective stats 2011-01-16 12:33:23 +02:00
kimchy c0e2e14c36 fix javadoc 2011-01-15 02:15:36 +02:00
kimchy 998f5f4188 add lt(Object) to range filter builder 2011-01-15 02:15:29 +02:00
kimchy 771e028e54 simple fs bench test 2011-01-15 02:14:10 +02:00
kimchy 2381f668f8 wait for mappings to be created on other nodes before returning from the put mapping request 2011-01-15 02:13:57 +02:00
kimchy f8b1d1eebd add explicit type missing exception when trying to search on a type that is not registered 2011-01-14 17:53:45 +02:00
kimchy a8be99b7e0 Node Stats: Process / Network / Os should only refresh every 5 seconds (refresh_interval to set it), closes #626. 2011-01-14 16:00:55 +02:00
kimchy 38d10d19bc Add `prefer_local` flag to analyze and percolate request, closes #625. 2011-01-14 01:01:37 +02:00
kimchy ff347858c5 properly report teh files and size recovered when doing primary local gateway recovery 2011-01-13 23:59:35 +02:00
kimchy 7fc04a4ab6 make sure to close the term docs when loading version 2011-01-13 22:49:56 +02:00
kimchy ad236d19ee add logging if failing to execute on a node 2011-01-13 16:51:06 +02:00
kimchy 180d225016 Percolator, closes #624. 2011-01-13 16:20:31 +02:00
kimchy 2d180eb28a upgrade to sigar 1.6.4 2011-01-13 16:02:35 +02:00
kimchy 577135db97 upgrade jackson to 1.7.1 2011-01-13 15:50:58 +02:00
kimchy 7213539d72 factor out exists collector 2011-01-12 20:51:19 +02:00
kimchy f8b1a8e38b add internal event when an index shard is started 2011-01-12 20:47:35 +02:00
kimchy 5e27e3fca4 support reader as well 2011-01-12 17:11:23 +02:00
kimchy 85b6a982d4 A setting to auto expand the number of replicas of an index (based on data nodes), closes #623. 2011-01-12 16:27:36 +02:00
kimchy f5a9f2d948 If the cluster does not contain any indices then index templates do not survive cluster restart, closes #617. 2011-01-11 23:38:46 +02:00
kimchy a0a714e6a5 Shared Gateway: Allow to set the number of concurrent streams doing snapshot operations, closes #621. 2011-01-11 22:03:44 +02:00
kimchy 93dec72e43 optimize a filtered query with match_all query into a constant score that just wraps the filter 2011-01-11 19:17:17 +02:00
kimchy 6130ac2ee7 optimize query facet in case the query is a filtered query with match_all query to use just the filter 2011-01-11 18:49:05 +02:00
kimchy ba9a12e201 Mapper: Add `byte` type (8bit signed), closes #620. 2011-01-11 16:01:10 +02:00
kimchy 38ea07cfbe fix field data cache setting: used under index.cache.field.type, available values: resident, soft, weak 2011-01-11 06:33:24 +02:00
kimchy a5432ba7ce limit the number of addresses to try and connect to when doing unicast discovery with just the host and not the port to 5 2011-01-11 00:53:53 +02:00
kimchy 90d005a330 add trace logging to unicast discovery 2011-01-10 23:30:46 +02:00
kimchy 50cdf2920f Make ToXContent return a builder 2011-01-10 22:11:12 +02:00
kimchy 89314f29a7 improve multi value field cache handling both in terms of memory usage and GC behavior 2011-01-10 20:58:31 +02:00
kimchy 233ed1f8c6 improve multi value field cache handling both in terms of memory usage and GC behavior 2011-01-10 20:18:12 +02:00
kimchy cb8ceb1a39 upgrade to guice 3.0 rc2 2011-01-10 17:49:39 +02:00
kimchy d4246da7b3 /_open is not recovering indices correctly, closes #615. 2011-01-09 23:31:10 +02:00
kimchy d650705a03 refresh param to bulk not working, closes #614. 2011-01-09 22:06:51 +02:00
kimchy 373af6b1e0 use fs channel to write to file to improve speed of adding to translog 2011-01-09 20:53:40 +02:00
kimchy 5c08271e74 improve numeric stream analysis performance 2011-01-09 19:35:24 +02:00
kimchy 3c3d01347e improve all stream analysis performance 2011-01-09 02:51:41 +02:00
kimchy 8de7beadc8 Highlighting: Sometimes highlighting returns empty fragments even thought there should be, closes #613. 2011-01-08 03:19:49 +02:00
kimchy 7364159d69 NPE for when passing null date to content builder, closes #610. 2011-01-07 23:28:57 +02:00
kimchy 286a6fac76 upgrade to jackson 1.7, also fix (really unused case) of getting compressed smile stored through REST with smile context type 2011-01-07 16:35:52 +02:00
kimchy b9be6d9ea7 Geo-distance in scripts (like custom_score), closes #607. 2011-01-07 15:22:11 +02:00
kimchy 8b8bad7572 build on aferreira improvements to handle empty parameters with no =, and improve component decoding logic 2011-01-07 14:34:34 +02:00
Adriano Ferreira 2d81acbbf2 Adding test for edge cases of RestUtils.decodeQueryString()
When writing tests for the fix of decodeQueryString() to
handle gracefully edge cases like:

    &a
    &a&b

it arises the question of what behavior is desirable
for these pathological cases (vs the regular p=v pairs).
This change just skips them which is consonant
to the preexisting code.

To be thorough, we add tests for a bunch of edge cases, like:

    QUERY           PARSED PARAMS

    ?               {}
    ?&              {}
    ?=              { "": "" }
    ?a              {}
    ?p=v&a          { "p": "v" }
    ?p=v&a&p1=v1    { "p": "v", "p1": "v1" }
    ?a&b            {}
2011-01-07 14:13:26 +02:00
Adriano Ferreira 154dcf007e Make RestUtils.decodeQueryString() more robust in edge cases
The code of decodeQueryString() had some trouble with weird URLs:

(1) an input like "uri?param&p=v" causes an exception to be thrown
(2) an input like "uri?param1&param2" causes an infinite loop

This could be verified against an ES server with requests like

    curl -XGET localhost:9200/test/_analyze?t&text=this+is+a+test
    # the exception stack trace shows up in logs

    curl -XGET localhost:9200/test/_analyze?t1&t2&text=this+is+a+test
    # never returns, never ends

This change fixes these issues.
2011-01-07 14:13:25 +02:00
Adriano Ferreira edb075b611 Minor changes to RestUtils.decodeQueryString() tests
Testing

    RestUtils.decodeQueryString("something", "something".indexOf('?') + 1, params);

is not really checking decoding of an empty query.
Instead, it is testing decoding of "something"
as a query (because "something.index('?')+1" evaluates to 0).
The parameter map is left empty because
"malformed" pairs like "something" are currently skipped.

Instead, this change modify this test to check the edge cases:

+ fromIndex >= queryString.length()
+ fromIndex < 0
2011-01-07 14:13:25 +02:00
kimchy fe0f9ebc9d make lucene document creation allowed to be indexed twice 2011-01-07 14:09:39 +02:00
kimchy c7cb353956 fix serialization of count request 2011-01-06 20:44:36 +02:00
kimchy 6a0a9ff374 parse query with offset 2011-01-06 16:13:15 +02:00