incubator-blur-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron McCurry <amccu...@gmail.com>
Subject Re: Sorting in Apache Blur 0.2.2.
Date Tue, 17 Jun 2014 17:00:39 GMT
My testing shows that the sort is broken, I'm working on fixing it now.

Aaron


On Tue, Jun 17, 2014 at 10:28 AM, Aaron McCurry <amccurry@gmail.com> wrote:

> On Tue, Jun 17, 2014 at 10:08 AM, Dibyendu Bhattacharya <
> dibyendu.bhattachary@gmail.com> 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 <amccurry@gmail.com>
>> 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 <
>> > dibyendu.bhattachary@gmail.com> 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 <amccurry@gmail.com>
>> > > 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 <
>> > > > dibyendu.bhattachary@gmail.com> 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 <
>> amccurry@gmail.com>
>> > > > > wrote:
>> > > > >
>> > > > > > On Mon, Jun 16, 2014 at 12:00 PM, Dibyendu Bhattacharya
<
>> > > > > > dibyendu.bhattachary@gmail.com> 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" <amccurry@gmail.com>
>> > > wrote:
>> > > > > > >
>> > > > > > > > On Mon, Jun 16, 2014 at 10:19 AM, Dibyendu Bhattacharya
<
>> > > > > > > > dibyendu.bhattachary@gmail.com> 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
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message