Are you sure the query is getting through unadulterated to Solr?

For example:

/opt/code/lusolr$ curl 'http://localhost:8983/solr/techproducts/query?q=id:#foo'
{
  "responseHeader":{
    "status":400,
    "QTime":2,
    "params":{
      "q":"id:"}},
  "error":{
    "msg":"org.apache.solr.search.SyntaxError: Cannot parse 'id:':
Encountered \"<EOF>\" at line 1, column 3.\nWas expecting one of:\n
<BAREOPER> ...\n    \"(\" ...\n    \"*\" ...\n    <QUOTED> ...\n
<TERM> ...\n    <PREFIXTERM> ...\n    <WILDTERM> ...\n    <REGEXPTERM>
...\n    \"[\" ...\n    \"{\" ...\n    <LPARAMS> ...\n    \"filter(\"
...\n    <NUMBER> ...\n    ",
    "code":400}}


Look at the echoed params, and how they were cut off at the "#" which
is special for URLs (and needs to be URL encoded).
Whether *you* need to URL encode it depends on exactly how you are
sending the request to Solr.  With a browser or with curl, you will
need to do it yourself... but other types of clients like SolrJ should
do it for you.

-Yonik


On Wed, Jan 27, 2016 at 10:00 PM, diyun2008 <diyun2...@gmail.com> wrote:
> Hi Eric
>
>     Thank you for your reply.
>     I saw the admin/analyze page before.
>
>     The string "titile:#7654321" for index analysis hit ST with "7654321"
> .(That means # is not indexed)
>     The string "title:#7654321*" for query analysis hit ST(Standard
> Tokenizer) with "7654321" as well.
>
>     What I was rather confused is if they all hit same string "7654321", why
> it cannot return the hit result by query(q=#7654321*)?
>
>     BTW, The title type is "text_general" and it uses Standard Tokenizer.

Reply via email to