Here are my steps:

1)      Download apache-solr-4.0.0-BETA

2)      Untar into a directory

3)      cp -r example example2

4)      cp -r example exampleB

5)      cp -r example example2B

6)      cd example;  java -Dbootstrap_confdir=./solr/collection1/conf 
-Dcollection.configName=myconf -DzkRun -DnumShards=2 -jar start.jar

7)      cd example2; java -Djetty.port=7574 -DzkHost=localhost:9983 -jar 
start.jar

8)      cd exampleB; java -Djetty.port=8900 -DzkHost=localhost:9983 -jar 
start.jar

9)      cd example2B; java -Djetty.port=7500 -DzkHost=localhost:9983 -jar 
start.jar

10)   cd example/exampledocs; java 
-Durl=http://localhost:8983/solr/collection1/update -jar post.jar *.xml

http://localhost:8983/solr/collection1/select?q=*:*&wt=xml&fq=cat:%22electronics%22
14 results returned

This is correct.  Let's try a slightly more circuitous route by running through 
the solr tutorial first


1)      Download apache-solr-4.0.0-BETA

2)      Untar into a directory

3)      cd example; java  -jar start.jar

4)      cd example/exampledocs; java 
-Durl=http://localhost:8983/solr/collection1/update -jar post.jar *.xml

5)      kill jetty server

6)      cp -r example example2

7)      cp -r example exampleB

8)      cp -r example example2B

9)      cd example;  java -Dbootstrap_confdir=./solr/collection1/conf 
-Dcollection.configName=myconf -DzkRun -DnumShards=2 -jar start.jar

10)   cd example2; java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar

11)   cd exampleB; java -Djetty.port=8900 -DzkHost=localhost:9983 -jar start.jar

12)   cd example2B; java -Djetty.port=7500 -DzkHost=localhost:9983 -jar 
start.jar

13)   cd example/exampledocs; java 
-Durl=http://localhost:8983/solr/collection1/update -jar post.jar *.xml

With the same query as above, 22 results are returned.

Looking at this, it is somewhat obvious that what is happening is that the 
index was copied over from the tutorial and was not cleaned up before running 
the cloud examples.

Adding the debug=query parameter to the query URL produces the following:
<lst name="debug">
<str name="rawquerystring">*:*</str>
<str name="querystring">*:*</str>
<str name="parsedquery">MatchAllDocsQuery(*:*)</str>
<str name="parsedquery_toString">*:*</str>
<str name="QParser">LuceneQParser</str>
<arr name="filter_queries">
<str>cat:"electronics"</str>
</arr>
<arr name="parsed_filter_queries">
<str>cat:electronics</str>
</arr>
</lst>

So, Erick's diagnoses is correct: pilot error.  However, the straightforward 
path through the tutorial and on to solr cloud makes it easy to make this 
mistake. Maybe a small warning in the solr cloud page would help?

Now, running a delete operations fixes things:
cd example/exampledocs;
java -Dcommit=false -Ddata=args -jar post.jar 
"<delete><query>*:*</query></delete>"
causes the number of results to be zero.  So, let's reload the data:
java -Durl=http://localhost:8983/solr/collection1/update -jar post.jar *.xml
now the number of results for our query
http://localhost:8983/solr/collection1/select?q=*:*&wt=xml&fq=cat:"electronics<http://localhost:8983/solr/collection1/select?q=*:*&wt=xml&fq=cat:%22electronics>"
is back to the correct 14 results.

Dave

PS apologizes for hijacking the thread earlier.

Reply via email to