Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-6172

solr.ManagedSynonymFilterFactory: URLEncoding - Synonyms with spaces or umlauts not available

    XMLWordPrintableJSON

Details

    Description

      Hi guys,

      we're using the SOLR Rest API in order to manage synonyms with
      solr.ManagedSynonymFilterFactory.

      We can successfully list them via GET and see it in JSON result.
      http://localhost:9095/solr/etb/schema/analysis/synonyms/all

      We can successfully list a single entry via
      http://localhost:9095/solr/etb/schema/analysis/synonyms/all/entryname

      Also works fine via curl -v -XGET 'http://localhost:9095/solr/etb/schema/analysis/synonyms/all/entryname'

      We cant list / delete / whatever synonyms with spaces or umlauts.

      If we try curl -v -XGET http://localhost:9095/solr/etb/schema/analysis/synonyms/all/entry name, assuming there's a synonym key called "entry name", it doesn't work -> 404.
      Same via browser, same for umlauts.

      If we try escaping the whole link, we get 505 HTTP Version not supported.
      ~> curl -v -XGET "http://localhost:9095/solr/schemaname/schema/analysis/synonyms/all/entry name"

      • About to connect() to localhost port 9095 (#0)
      • Trying 127.0.0.1... connected
      • Connected to localhost (127.0.0.1) port 9095 (#0)
        > GET /solr/schemaname/schema/analysis/synonyms/all/entry name HTTP/1.1
        > User-Agent: curl/7.19.7 (x86_64-suse-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8j zlib/1.2.7 libidn/1.10
        > Host: localhost:9095
        > Accept: /
        >
        < HTTP/1.1 505 HTTP Version Not Supported
        < Server: Apache-Coyote/1.1
        < Date: Mon, 16 Jun 2014 12:34:57 GMT
        < Connection: close

      Searching for those synonyms via
      http://localhost:9095/solr/etb/select?q=FIELD:entry\ (http://localhost:9095/solr/etb/select?q=FIELD:entry%5C) name&start=0&rows=50&debugQuery=true

      works fine.

      <response>
      <lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">2</int>
      <lst name="params">
      <str name="debugQuery">true</str>
      <str name="start">0</str>
      <str name="q">FIELD:entry\ name</str>
      <str name="rows">50</str>
      </lst>
      </lst>
      <result name="response" numFound="0" start="0"/>
      <lst name="debug">
      <str name="rawquerystring">FIELD:entry\ name</str>
      <str name="querystring">FIELD:entry\ name</str>
      <str name="parsedquery">FIELD:replacement</str>
      <str name="parsedquery_toString">FIELD:replacement</str>
      [...]
      </lst>
      </response>

      Our real pain is, that there's no "DELETE all synonyms" method, since we can search and retrieve the whole list, that's the only function we cannot use right now. Of course this umlauts-behavior is not ok, anyways.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              condor2k Dirk Mast
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: