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.
> > > >>>> > > >
> > > >>>> > >
> > > >>>> >
> > > >>>>
> > > >>>
> > > >>>
> > > >>
> > > >
> > >
> >
>

Reply via email to