Is there a way to let "ID" not be "indexed" in solr?
If i am not wrong, this is not possible if you want distributed searches, because solr uses internaly the ids to retrieve the correct pagination in a distributed search, i mean, when you do a distributed search (ie two shards), two searches are fired in parallel and mixed them to get the correct sort, after these steps, solr get the documents (doing a search by id) from the corresponding shards to retrieve the others fields of the documents you have define in the search. Marco Martínez Bautista http://www.paradigmatecnologico.com Avenida de Europa, 26. Ática 5. 3ª Planta 28224 Pozuelo de Alarcón Tel.: 91 352 59 42 2010/6/8 Scott Zhang <macromars...@gmail.com> > Hi. Markus. > > Thanks for replying. > > I figured out the reason this afternoon. Sorry for not following up on this > list. I posted it onto dev list because I think it is a BUG. > > > > ============================================================================ > I finally know why it doesn't return the result. > > When I created the index, I set "id" field as "Stored" but not "indexed" > because I don't see the reason to index the id. > Then in schema.xml, I found I have to set "ID" as "indexed" but actually it > is not. > > Not sure how solr is implemented internally. But without set id as > "indexed", the distributed search doesn't work. I tried rebuild a test > index > with set ID as Indexed. Then let solr use that index and distributed search > works. > > Is there a way to let "ID" not be "indexed" in solr? > > =================================================================================== > > > > > On Tue, Jun 8, 2010 at 7:38 PM, <markus.rietz...@rzf.fin-nrw.de> wrote: > > > did you send a commit after the last doc posted to solr? > > > > > -----Ursprüngliche Nachricht----- > > > Von: Scott Zhang [mailto:macromars...@gmail.com] > > > Gesendet: Dienstag, 8. Juni 2010 08:30 > > > An: solr-user@lucene.apache.org > > > Betreff: Re: Distributed Search doesn't response the result set > > > > > > Hi. All. > > > I am still testing. I think I am approaching the truth. > > > Now confirmed: > > > the doc in my existing lucene indexes, when search with > > > distributed search, > > > none of them are returned. But the docs inserted from solr > > > post.jar are > > > returned successfully. > > > Don't know why. looks the lucene docs has some difference > > > from solr's > > > lucene. > > > And my situation is, I already have 72 indexes folders > > > which occupy lots > > > of disk and repost them to solr will take very long time, so > > > I have to stick > > > with my existing index. Is there a solution for this? > > > > > > Thanks. > > > Regards. > > > > > > On Tue, Jun 8, 2010 at 2:02 PM, Scott Zhang > > > <macromars...@gmail.com> wrote: > > > > > > > Hi. All. > > > > I tried with the default solr example plus my own > > > config/schema file. I > > > > post test document into solr manually. Then test the > > > distributed search and > > > > it works. Then I switch to my existing l*ucene index, and > > > it d*oesn't > > > > work. So I am wondering is that the reason, when solr use > > > lucene index, > > > > then it can't be distributed searched? > > > > > > > > Welcome anyone help. > > > > > > > > Thanks. > > > > Regards. > > > > Scott > > > > > > > > > > > > On Mon, Jun 7, 2010 at 4:48 PM, Scott Zhang > > > <macromars...@gmail.com>wrote: > > > > > > > >> Is there a possibility caused by I am using my own lucene indexes. > > > >> Not the one created by solr itself? > > > >> > > > >> > > > >> Regards > > > >> Scott > > > >> > > > >> > > > >> On Mon, Jun 7, 2010 at 4:24 PM, Scott Zhang > > > <macromars...@gmail.com>wrote: > > > >> > > > >>> Hi. > > > >>> I tried URL: > > > >>> > > > http://localhost:8983/solr/select?shards=localhost:8983/solr,l > > > ocalhost:7574/solr&indent=true&q=marship&rows=10 > > > >>> Got: > > > >>> <response> > > > >>> - > > > >>> <lst name="responseHeader"> > > > >>> <int name="status">0</int> > > > >>> <int name="QTime">16</int> > > > >>> - > > > >>> <lst name="params"> > > > >>> > > > >>> <str name="shards">localhost:8983/solr,localhost:7574/solr</str> > > > >>> <str name="indent">true</str> > > > >>> <str name="q">marship</str> > > > >>> <str name="rows">10</str> > > > >>> > > > >>> </lst> > > > >>> </lst> > > > >>> <result name="response" numFound="14" start="0"/> > > > >>> </response> > > > >>> > > > >>> Nothing Happens. > > > >>> > > > >>> > > > >>> On Mon, Jun 7, 2010 at 4:16 PM, Marco Martinez < > > > >>> mmarti...@paradigmatecnologico.com> wrote: > > > >>> > > > >>>> Try to put the rows parameter in your request, i guess > > > that in your > > > >>>> solrconfig you have configured the default rows to 0 in > > > your default > > > >>>> request > > > >>>> handler. > > > >>>> > > > >>>> Marco Martínez Bautista > > > >>>> http://www.paradigmatecnologico.com > > > >>>> Avenida de Europa, 26. Ática 5. 3ª Planta > > > >>>> 28224 Pozuelo de Alarcón > > > >>>> Tel.: 91 352 59 42 > > > >>>> > > > >>>> > > > >>>> 2010/6/7 Scott Zhang <macromars...@gmail.com> > > > >>>> > > > >>>> > Thanks for replying. > > > >>>> > > > > >>>> > Here is the part of my schema.xml: > > > >>>> > I only have 4 fields in my document. > > > >>>> > > > > >>>> > <fields> > > > >>>> > > > > >>>> > <field name="id" type="string" indexed="true" stored="true" > > > >>>> > required="true" /> > > > >>>> > <field name="type" type="string" indexed="true" stored="true" > > > >>>> > required="true"/> > > > >>>> > <field name="keyword_level1" type="text" indexed="true" > > > >>>> stored="false"/> > > > >>>> > <field name="keyword_level2" type="text" indexed="true" > > > >>>> stored="false"/> > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > <dynamicField name="*_i" type="int" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_s" type="string" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_l" type="long" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_t" type="text" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_b" type="boolean" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_f" type="float" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_d" type="double" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_dt" type="date" indexed="true" > > > >>>> stored="true"/> > > > >>>> > > > > >>>> > <!-- some trie-coded dynamic fields for faster range > > > queries --> > > > >>>> > <dynamicField name="*_ti" type="tint" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_tl" type="tlong" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_tf" type="tfloat" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_td" type="tdouble" indexed="true" > > > >>>> stored="true"/> > > > >>>> > <dynamicField name="*_tdt" type="tdate" indexed="true" > > > >>>> stored="true"/> > > > >>>> > > > > >>>> > <dynamicField name="*_pi" type="pint" indexed="true" > > > >>>> stored="true"/> > > > >>>> > > > > >>>> > <dynamicField name="ignored_*" type="ignored" > > > multiValued="true"/> > > > >>>> > <dynamicField name="attr_*" type="textgen" indexed="true" > > > >>>> stored="true" > > > >>>> > multiValued="true"/> > > > >>>> > > > > >>>> > <dynamicField name="random_*" type="random" /> > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > </fields> > > > >>>> > > > > >>>> > <uniqueKey>id</uniqueKey> > > > >>>> > > > > >>>> > > > > >>>> > I am running 2 instances as tutorial shows: one on > > > 8983. Another one > > > >>>> is on > > > >>>> > 7574. > > > >>>> > When I search on 8983: > > > >>>> > URL: > > > >>>> > > > > >>>> > > > > >>>> > > > http://localhost:8983/solr/select/?q=marship&version=2.2&start > > > =0&rows=10&indent=on > > > >>>> > I got: > > > >>>> > > > > >>>> > <result name="response" numFound="17" start="0"> > > > >>>> > - > > > >>>> > <doc> > > > >>>> > <str name="id">89</str> > > > >>>> > <str name="type">product</str> > > > >>>> > </doc> > > > >>>> > - > > > >>>> > <doc> > > > >>>> > <str name="id">90</str> > > > >>>> > <str name="type">product</str> > > > >>>> > </doc> > > > >>>> > ...... > > > >>>> > > > > >>>> > > > > >>>> > when I search on 7574: > > > >>>> > URL: > > > >>>> > > > > >>>> > > > > >>>> > > > http://localhost:7574/solr/select/?q=marship&version=2.2&start > > > =0&rows=10&indent=on > > > >>>> > I got: > > > >>>> > <result name="response" numFound="17" start="0"> > > > >>>> > - > > > >>>> > <doc> > > > >>>> > <str name="id">89</str> > > > >>>> > <str name="type">product</str> > > > >>>> > </doc> > > > >>>> > - > > > >>>> > <doc> > > > >>>> > <str name="id">90</str> > > > >>>> > <str name="type">product</str> > > > >>>> > </doc> > > > >>>> > - > > > >>>> > <doc> > > > >>>> > <str name="id">91</str> > > > >>>> > <str name="type">product</str> > > > >>>> > </doc> > > > >>>> > .... > > > >>>> > > > > >>>> > As they are using 2 copies of same lucene indexes. the > > > result is same. > > > >>>> > Then I use > > > >>>> > URL: > > > >>>> > > > > >>>> > > > > >>>> > > > http://localhost:8983/solr/select?shards=localhost:8983/solr,l > > > ocalhost:7574/solr&indent=true&q=marship > > > >>>> > I got: > > > >>>> > <response> > > > >>>> > - > > > >>>> > <lst name="responseHeader"> > > > >>>> > <int name="status">0</int> > > > >>>> > <int name="QTime">31</int> > > > >>>> > - > > > >>>> > <lst name="params"> > > > >>>> > <str name="indent">true</str> > > > >>>> > <str name="q">marship</str> > > > >>>> > <str > > > name="shards">localhost:8983/solr,localhost:7574/solr</str> > > > >>>> > </lst> > > > >>>> > </lst> > > > >>>> > <result name="response" numFound="14" start="0"/> > > > >>>> > </response> > > > >>>> > > > > >>>> > Note the numFound is 14. > > > >>>> > When I try URL: > > > >>>> > > > > >>>> > > > > >>>> > > > http://localhost:8983/solr/select?shards=localhost:8983/solr/& > > > indent=true&q=marship > > > >>>> > The numFound="7" but still nothing returned. > > > >>>> > > > > >>>> > URL: > > > >>>> > > > > >>>> > > > > >>>> > > > http://localhost:8983/solr/select?shards=localhost:7574/solr/& > > > indent=true&q=marship > > > >>>> > return numFound="7" too. And the result has nothing. > > > >>>> > > > > >>>> > Please help. > > > >>>> > > > > >>>> > Thanks. > > > >>>> > Regards. > > > >>>> > Scott > > > >>>> > > > > >>>> > > > > >>>> > On Mon, Jun 7, 2010 at 3:47 PM, Marco Martinez < > > > >>>> > mmarti...@paradigmatecnologico.com> wrote: > > > >>>> > > > > >>>> > > Hi Scott, > > > >>>> > > > > > >>>> > > We need more information about your request, can you > > > put the query > > > >>>> that > > > >>>> > you > > > >>>> > > are doing to the servers. > > > >>>> > > > > > >>>> > > Marco Martínez Bautista > > > >>>> > > http://www.paradigmatecnologico.com > > > >>>> > > Avenida de Europa, 26. Ática 5. 3ª Planta > > > >>>> > > 28224 Pozuelo de Alarcón > > > >>>> > > Tel.: 91 352 59 42 > > > >>>> > > > > > >>>> > > > > > >>>> > > 2010/6/7 Scott Zhang <macromars...@gmail.com> > > > >>>> > > > > > >>>> > > > Hi. All. > > > >>>> > > > I am trying to use solr to search over 2 lucene > > > indexes. I am > > > >>>> > > following > > > >>>> > > > the solr tutorial and test the distributed search > > > example. It > > > >>>> works. > > > >>>> > > > Then I am using my own lucene indexes. Search in > > > each solr > > > >>>> instance > > > >>>> > > works > > > >>>> > > > and return the expected result. But when I do > > > distributed search > > > >>>> using > > > >>>> > > > "shards". It only return the "numFound"=14. But > > > the result contain > > > >>>> > > nothing. > > > >>>> > > > Don't know why. Can Any one help? Thanks. > > > >>>> > > > > > > >>>> > > > > > >>>> > > > > >>>> > > > >>> > > > >>> > > > >> > > > > > > > > > >