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 14:28:46 GMT
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