On Tue, Jun 17, 2014 at 10:08 AM, Dibyendu Bhattacharya < [email protected]> wrote:
> Hi, > > I think there are still issue in sorting. As I iterate over the BlurResult > , I can see data are partially sorted. e.g. I have 3 shard server, and if > my search return say 100 records, I do not see all 100 are sorted, but > subset of those records are sorted. Is the sorting happening on shard > server level and thus three cluster of sorted results I am getting which > are basically sorted set from a given shard server ? > You could isolate where the problem lies (controller or shard server) by connecting your client to the shard server and seeing if the results are correct from there. The shard server and controller server share the same api so you would just need to alter the connection string to reflect the shard server ( <node name>:40020 ). I am in the process of testing right now. I will let you know what I find. Aaron > > Dib > > > > On Tue, Jun 17, 2014 at 6:48 PM, Aaron McCurry <[email protected]> wrote: > > > Ok, we need to provide a better error message. Glad to hear that things > > seem to be working. > > > > Aaron > > > > > > On Tue, Jun 17, 2014 at 2:43 AM, Dibyendu Bhattacharya < > > [email protected]> wrote: > > > > > Hi, > > > > > > When I set "query.setRowQuery(false)"; then I do get the result in > > sorted > > > order.. . Sorry I did not check the Row Query to false yesterday... > > > > > > As I see the documents, I think right now sorting is only supported for > > > Record Query.. So we are fine now with setting the above boolean flag. > > > > > > > > > > > > When Row Query is not set to false, then I got following exception.. > > > > > > BlurException(message:Query [Query(query:*, rowQuery:true, > > scoreType:SUPER, > > > rowFilter:null, recordFilter:null)] in BlurQuery > > > [BlurQuery(query:Query(query:*, rowQuery:true, scoreType:SUPER, > > > rowFilter:null, recordFilter:null), facets:null, > > > selector:Selector(recordOnly:true, locationId:null, rowId:null, > > > recordId:null, columnFamiliesToFetch:[revel], columnsToFetch:null, > > > startRecord:0, maxRecordsToFetch:1000, highlightOptions:null, > > > orderOfFamiliesToFetch:null), useCacheIfPresent:true, start:0, > fetch:100, > > > minimumNumberOfResults:9223372036854775807, > > > maxQueryTime:9223372036854775807, uuid:null, userContext:null, > > > cacheResult:true, startTime:0, sortFields:[SortField(family:revel, > > > column:timestamp, reverse:true)], rowId:null)] cannot be a rowquery > when > > > sortfields are supplied., stackTraceStr:null, errorType:UNKNOWN) > > > at > > > > > > > > > org.apache.blur.thrift.generated.Blur$query_result$query_resultStandardScheme.read(Blur.java:17790) > > > at > > > > > > > > > org.apache.blur.thrift.generated.Blur$query_result$query_resultStandardScheme.read(Blur.java:1) > > > at > > > > org.apache.blur.thrift.generated.Blur$query_result.read(Blur.java:17706) > > > at > > > > > > > > > org.apache.blur.thirdparty.thrift_0_9_0.TServiceClient.receiveBase(TServiceClient.java:78) > > > at > > > org.apache.blur.thrift.generated.Blur$Client.recv_query(Blur.java:959) > > > at > > > > > > > > > org.apache.blur.thrift.generated.SafeClientGen.recv_query(SafeClientGen.java:403) > > > at > > > org.apache.blur.thrift.generated.Blur$Client.query(Blur.java:945) > > > at > > > > > > > > > org.apache.blur.thrift.generated.SafeClientGen.query(SafeClientGen.java:221) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > > at > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > at java.lang.reflect.Method.invoke(Method.java:606) > > > at > > > > > > > > > org.apache.blur.thrift.BlurClient$BlurClientInvocationHandler$1.call(BlurClient.java:60) > > > at > > > > > > > > > org.apache.blur.thrift.BlurClient$BlurClientInvocationHandler$1.call(BlurClient.java:1) > > > at > > > org.apache.blur.thrift.AbstractCommand.call(AbstractCommand.java:62) > > > at > > > > > > > > > org.apache.blur.thrift.BlurClientManager.execute(BlurClientManager.java:192) > > > at > > > > > > > > > org.apache.blur.thrift.BlurClient$BlurClientInvocationHandler.invoke(BlurClient.java:56) > > > at com.sun.proxy.$Proxy0.query(Unknown Source) > > > at > > > > > > com.pearson.blur.client.indexer.BlurQueryTest.main(BlurQueryTest.java:107) > > > > > > > > > > > > > > > > > > On Mon, Jun 16, 2014 at 10:30 PM, Aaron McCurry <[email protected]> > > > wrote: > > > > > > > Ok that sounds like a bug. Thanks for letting us know, I will take a > > > look > > > > this afternoon and try to track it down for you. > > > > > > > > Thanks! > > > > > > > > Aaron > > > > > > > > > > > > On Mon, Jun 16, 2014 at 12:58 PM, Dibyendu Bhattacharya < > > > > [email protected]> wrote: > > > > > > > > > Yes, I get all records matched the search if I comment the sorting > , > > > i.e. > > > > > if I comment below line, I got the results. > > > > > > > > > > blurQuery.addToSortFields(new SortField("family", "timestamp", > > true)); > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jun 16, 2014 at 10:02 PM, Aaron McCurry < > [email protected]> > > > > > wrote: > > > > > > > > > > > On Mon, Jun 16, 2014 at 12:00 PM, Dibyendu Bhattacharya < > > > > > > [email protected]> wrote: > > > > > > > > > > > > > I got 0 results. It was Record query. > > > > > > > > > > > > > > > > > > > And if you run the same query without any of the sort feature > > turned > > > on > > > > > do > > > > > > you get a different result? > > > > > > > > > > > > > > > > > > > > > > > > > > Dib > > > > > > > On Jun 16, 2014 9:08 PM, "Aaron McCurry" <[email protected]> > > > wrote: > > > > > > > > > > > > > > > On Mon, Jun 16, 2014 at 10:19 AM, Dibyendu Bhattacharya < > > > > > > > > [email protected]> wrote: > > > > > > > > > > > > > > > > > Hi Aaron, > > > > > > > > > > > > > > > > > > I wanted to implement sorting of records during search, but > > it > > > > > seems > > > > > > > > > sorting feature not working. > > > > > > > > > > > > > > > > > > This is what I tried. > > > > > > > > > > > > > > > > > > I defined a Column Definition as long type and set the > > > sortable > > > > as > > > > > > > true > > > > > > > > > during table creation, and populate the long field with > > > timestamp > > > > > > value > > > > > > > > > during indexing. > > > > > > > > > > > > > > > > > > During query I used ( timestamp is the column name that is > > > > > sortable) > > > > > > > > > > > > > > > > > > Query query = new Query(); > > > > > > > > > query.setQuery(queryString); > > > > > > > > > BlurQuery blurQuery = new BlurQuery(); > > > > > > > > > blurQuery.setQuery(query); > > > > > > > > > blurQuery.setStart(pageSize); > > > > > > > > > blurQuery.setFetch(fetchSize); > > > > > > > > > blurQuery.addToSortFields(new SortField("family", > > "timestamp", > > > > > > true)); > > > > > > > > > Selector selector = new Selector(); > > > > > > > > > selector.setRecordOnly(true); > > > > > > > > > selector.addToColumnFamiliesToFetch("family"); > > > > > > > > > blurQuery.setSelector(selector); > > > > > > > > > > > > > > > > > > results = client.query("table", blurQuery); > > > > > > > > > > > > > > > > > > > > > > > > > > > But this does not return any result. > > > > > > > > > > > > > > > > > > > > > > > > > What is the result? An error? Or 0 results? > > > > > > > > > > > > > > > > Also there can be some confusion about Record and Row query > > > results > > > > > > > because > > > > > > > > they are stored in two different fields. > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://incubator.apache.org/blur/docs/0.2.2/Blur.html#Struct_FetchResult > > > > > > > > > > > > > > > > Let me know if there is anything else I can help with. I > will > > > > rerun > > > > > > some > > > > > > > > tests later today to make sure that the feature does in fact > > > work. > > > > > > > > > > > > > > > > Aaron > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > My schema is very simple, we have one record for every row > > and > > > > > every > > > > > > > > > record have around 5 columns. > > > > > > > > > > > > > > > > > > Can you please let me know if I am missing anything. > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > Dibyendu > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
