bq: My question is for indexed=false, stored=true field..what is optimized way to get unique values in such field.
There isn't any. To do this you'll have to read the doc from disk, it'll be decompressed along the way and then the field is read. Note that this happens automatically when you call doc.getFieldValue or similar. At the stored="true" level, you're always talking about complete documents. indexed="true" is about putting the field data into efficient-access structures. They're completely different beasts. your original question was: "Please guide me how i can tell solr not to tokenize stored field to decide unique groups.." Simply declare the field type you care about as a "string" type in schema.xml. The use a <copyFeld> directive to copy the data to the new type, and group on the new field. There are examples in the schema.xml of string types and copyFields that should help. Best, Erick On Tue, Jan 13, 2015 at 9:00 AM, Naresh Yadav <nyadav....@gmail.com> wrote: > Erick, my schema is same no change in that.. > *Schema :* > <field name="tenant_pool" type="text" stored="true"/> > my guess is i had not mentioned indexed true or false....may be default > indexed is true.... > > My question is for indexed=false, stored=true field..what is optimized way > to get unique values in such field.. > > On Tue, Jan 13, 2015 at 10:07 PM, Erick Erickson <erickerick...@gmail.com> > wrote: > >> Something is very wrong here. Have you perhaps been changing your >> schema without re-indexing? And I recommend you completely remove >> your data directory (the one with "index" and "tlog" subdirectories) after >> you change your schema.xml file. >> >> Because you're trying to group on a field that is _not_ indexed, you >> should be getting an error returned, something like: >> "can not use FieldCache on a field which is neither indexed nor has >> doc values: ...." >> >> As far as the tokenization comment is, just start by making the field you >> want >> to group on be >> stored="false" indexed="true" type="string" >> >> Best, >> Erick >> >> On Tue, Jan 13, 2015 at 5:09 AM, Naresh Yadav <nyadav....@gmail.com> >> wrote: >> > Hi jack, >> > >> > Thanks for replying, i am new to solr please guide me on this. I have >> many >> > such columns in my schema >> > so copy field will create lot of duplicate fields beside i do not need >> any >> > search on original field. >> > >> > My usecase is i do not want any search on tenant_pool field thats why i >> > declared it as stored field not indexed. >> > I just need to get unique values in this field. Please show some >> direction. >> > >> > >> > On Tue, Jan 13, 2015 at 6:16 PM, Jack Krupansky < >> jack.krupan...@gmail.com> >> > wrote: >> > >> >> That's your job. The easiest way is to do a copyField to a "string" >> field. >> >> >> >> -- Jack Krupansky >> >> >> >> On Tue, Jan 13, 2015 at 7:33 AM, Naresh Yadav <nyadav....@gmail.com> >> >> wrote: >> >> >> >> > *Schema :* >> >> > <field name="tenant_pool" type="text" stored="true"/> >> >> > >> >> > *Code :* >> >> > SolrQuery q = new SolrQuery().setQuery("*:*"); >> >> > q.set(GroupParams.GROUP, true); >> >> > q.set(GroupParams.GROUP_FIELD, "tenant_pool"); >> >> > >> >> > *Data :* >> >> > "tenant_pool" : "Baroda Farms" >> >> > "tenant_pool" : "Ketty Farms" >> >> > >> >> > *Output coming :* >> >> > groupValue=Farms, docs=2 >> >> > >> >> > *Expected Output :* >> >> > groupValue=Baroda Farms, docs=1 >> >> > groupValue=Ketty Farms, docs=1 >> >> > >> >> > Please guide me how i can tell solr not to tokenize stored field to >> >> decide >> >> > unique groups.. >> >> > >> >> > I want unique groups as exact value of field not the tokens which >> solr is >> >> > doing >> >> > currently. >> >> > >> >> > Thanks >> >> > Naresh >> >> > >> >> >> > >> > >> > >> > -- >> > Cheers, >> > >> > Naresh Yadav >> > +919960523401 >> > http://nareshyadav.blogspot.com/ >> > SSE, MetrixLine Inc. >>