Adding json.nl=map instead of wt.json
 returns results in xml format.

<?xml version="1.0" encoding="UTF-8"?><response>
   <lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">2</int>
   </lst>
   <lst name="analysis">
      <lst name="field_types">
         <lst name="inferlytics">
            <lst name="index">
               <str
name="org.apache.lucene.analysis.pattern.PatternReplaceCharFilter" />
               <str name="java.io.StringReader" />
               <arr
name="org.apache.lucene.analysis.standard.StandardTokenizer" />
               <arr name="org.apache.lucene.analysis.core.LowerCaseFilter" />
               <arr
name="org.apache.lucene.analysis.en.EnglishMinimalStemFilter" />
               <arr name="org.apache.lucene.analysis.shingle.ShingleFilter" />
               <arr
name="org.apache.lucene.analysis.pattern.PatternReplaceFilter" />
               <arr
name="org.apache.solr.handler.AnalysisRequestHandlerBase$ListBasedTokenStream"
/>
               <arr name="org.apache.lucene.analysis.en.PorterStemFilter" />
            </lst>
            <lst name="query">
               <str
name="org.apache.lucene.analysis.pattern.PatternReplaceCharFilter">playing</str>
               <str name="java.io.StringReader">playing</str>
               <arr
name="org.apache.lucene.analysis.standard.StandardTokenizer">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                     </arr>
                  </lst>
               </arr>
               <arr name="org.apache.lucene.analysis.core.LowerCaseFilter">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                     </arr>
                  </lst>
               </arr>
               <arr
name="org.apache.lucene.analysis.en.EnglishMinimalStemFilter">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <bool
name="org.apache.lucene.analysis.tokenattributes.KeywordAttribute#keyword">false</bool>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                     </arr>
                  </lst>
               </arr>
               <arr name="org.apache.lucene.analysis.shingle.ShingleFilter">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                     </arr>
                     <bool
name="org.apache.lucene.analysis.tokenattributes.KeywordAttribute#keyword">false</bool>
                  </lst>
               </arr>
               <arr
name="org.apache.lucene.analysis.pattern.PatternReplaceFilter">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                     </arr>
                     <bool
name="org.apache.lucene.analysis.tokenattributes.KeywordAttribute#keyword">false</bool>
                  </lst>
               </arr>
               <arr
name="org.apache.solr.handler.AnalysisRequestHandlerBase$ListBasedTokenStream">
                  <lst>
                     <str name="text">playing</str>
                     <str name="raw_bytes">[70 6c 61 79 69 6e 67]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                     </arr>
                     <bool
name="org.apache.lucene.analysis.tokenattributes.KeywordAttribute#keyword">false</bool>
                  </lst>
               </arr>
               <arr name="org.apache.lucene.analysis.en.PorterStemFilter">
                  <lst>
                     <str name="text">plai</str>
                     <str name="raw_bytes">[70 6c 61 69]</str>
                     <int name="start">0</int>
                     <int name="end">7</int>
                     <int
name="org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute#positionLength">1</int>
                     <str name="type">&lt;ALPHANUM&gt;</str>
                     <bool
name="org.apache.lucene.analysis.tokenattributes.KeywordAttribute#keyword">false</bool>
                     <int name="position">1</int>
                     <arr name="positionHistory">
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                        <int>1</int>
                     </arr>
                  </lst>
               </arr>
            </lst>
         </lst>
      </lst>
      <lst name="field_names" />
   </lst></response>



On Fri, Sep 4, 2015 at 2:51 PM, Upayavira <u...@odoko.co.uk> wrote:

> I don't have a code snippet - I just found it in the solrj source code.
>
> As to using JSON, I'm not sure of the structure of the JSON you are
> getting back, but you might find adding json.nl=map, which changes the
> way it returns named lists, which may be easier to parse.
>
> Upayavira
>
> On Fri, Sep 4, 2015, at 10:14 AM, Ritesh Sinha wrote:
> > This is the code which i have written to get the stemmed word.
> >
> > public class URLConnectionReader {
> >     public static void main(String[] args) throws Exception {
> >         URL solr = new URL(
> >                 "http://localhost:8983/solr/
> >
> "+args[0]+"/analysis/field?wt=json&analysis.showmatch=true&analysis.query="+args[1]+"&analysis.fieldtype="+args[2]+"");
> >         URLConnection sl = solr.openConnection();
> >         BufferedReader in = new BufferedReader(new InputStreamReader(
> >                 sl.getInputStream()));
> >         String inputLine;
> >         StringBuilder sb = new StringBuilder();
> >         while ((inputLine = in.readLine()) != null) {
> >             sb.append(inputLine);
> >         }
> >
> >         in.close();
> >
> >         JSONObject obj = new JSONObject(sb.toString());
> >         JSONArray analysis = obj.getJSONObject("analysis")
> >                 .getJSONObject("field_types").getJSONObject(args[2])
> >                 .getJSONArray("query");
> >
> >         JSONArray jsonarray = new JSONArray(analysis.toString());
> >         ArrayList<String> stemmedWords = new ArrayList<String>();
> >         for (int i = 0; i < jsonarray.length(); i++) {
> >             String objF = jsonarray.getString(i);
> >             stemmedWords.add(objF);
> >         }
> >
> >         String lastStemmedGroup = stemmedWords.get(stemmedWords.size() -
> > 1).toString();
> >
> >         JSONArray finalStemmer = new JSONArray(lastStemmedGroup);
> >
> >         for (int i = 0; i < finalStemmer.length(); i++) {
> >             JSONObject jsonobject = finalStemmer.getJSONObject(i);
> >             String stemmedWord = jsonobject.getString("text");
> >             System.out.println(stemmedWord);
> >         }
> >
> >     }
> >
> > }
> >
> >
> > Here, args[0] is core.
> > args[1] is the word i'll be sending for stemming.
> > args[2] is the Analyse Fieldname / FieldType.
> >
> > I am looking into FieldAnalysisRequest.
> > Do you have some code snippet or something which can guide me ?
> >
> > Thanks
> >
> > On Fri, Sep 4, 2015 at 12:44 PM, Upayavira <u...@odoko.co.uk> wrote:
> >
> > > Yes, look at the one I mentioned further up in this thread, which is a
> > > part of SolrJ: FieldAnalysisRequest
> > >
> > > That uses the same HTTP call in the backend, but formats the result in
> a
> > > Java friendly manner.
> > >
> > > Upayavira
> > >
> > > On Fri, Sep 4, 2015, at 05:52 AM, Ritesh Sinha wrote:
> > > > Yeah, I got. Thanks.
> > > >
> > > > It returns a json which have the stemmed words.I just need to parse
> it
> > > > and
> > > > get the value.
> > > >
> > > > But, isn't there any JAVA API available for it ?
> > > >
> > > > On Thu, Sep 3, 2015 at 7:58 PM, Upayavira <u...@odoko.co.uk> wrote:
> > > >
> > > > > yes, the URL should be something like:
> > > > >
> > > > >
> > > > >
> > >
> http://localhost:8983/solr/images/analysis/field?wt=json&analysis.showmatch=true&analysis.fieldvalue=
> > > > > <stuff-you-want-analysing>&analysis.fieldname=<somefield>
> > > > >
> > > > > Upayavira
> > > > >
> > > > > On Thu, Sep 3, 2015, at 03:23 PM, Jack Krupansky wrote:
> > > > > > The # in the URL says to send the request to the admin UI, which
> of
> > > > > > course
> > > > > > returns an HTML web page. Instead, send the analysis URL fragment
> > > > > > directly
> > > > > > to the analysis API (not UI) for the Solr core, without the #.
> > > > > >
> > > > > > -- Jack Krupansky
> > > > > >
> > > > > > On Thu, Sep 3, 2015 at 8:45 AM, Ritesh Sinha <
> > > > > > kumarriteshranjansi...@gmail.com> wrote:
> > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > I observed the inspect element and wrote a code to give back
> the
> > > > > content. I
> > > > > > > have included the url which was getting generated.
> > > > > > >
> > > > > > > public class URLConnectionReader {
> > > > > > >     public static void main(String[] args) throws Exception {
> > > > > > >         URL solr = new URL(
> > > > > > >                 "
> > > > > > >
> > > > > > >
> > > > >
> > >
> http://localhost:8983/solr/#/testcore/analysis?analysis.fieldvalue=holidays&analysis.fieldtype=inferlytics&verbose_output=1
> > > > > > > ");
> > > > > > >         URLConnection sl = solr.openConnection();
> > > > > > >         BufferedReader in = new BufferedReader(new
> > > InputStreamReader(
> > > > > > >                 sl.getInputStream()));
> > > > > > >         String inputLine;
> > > > > > >
> > > > > > >         while ((inputLine = in.readLine()) != null)
> > > > > > >             System.out.println(inputLine);
> > > > > > >         in.close();
> > > > > > >     }
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > > But it shows this in the consloe :
> > > > > > >
> > > > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
> > > > > > > http://www.w3.org/TR/html4/strict.dtd";>
> > > > > > > <html>
> > > > > > >
> > > > > > > <!--
> > > > > > > Licensed to the Apache Software Foundation (ASF) under one or
> more
> > > > > > > contributor license agreements.  See the NOTICE file
> distributed
> > > with
> > > > > > > this work for additional information regarding copyright
> ownership.
> > > > > > > The ASF licenses this file to You under the Apache License,
> > > Version 2.0
> > > > > > > (the "License"); you may not use this file except in compliance
> > > with
> > > > > > > the License.  You may obtain a copy of the License at
> > > > > > >
> > > > > > > http://www.apache.org/licenses/LICENSE-2.0
> > > > > > >
> > > > > > > Unless required by applicable law or agreed to in writing,
> software
> > > > > > > distributed under the License is distributed on an "AS IS"
> BASIS,
> > > > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > > > > implied.
> > > > > > > See the License for the specific language governing
> permissions and
> > > > > > > limitations under the License.
> > > > > > > -->
> > > > > > >
> > > > > > > <head>
> > > > > > >
> > > > > > >   <title>Solr Admin</title>
> > > > > > >
> > > > > > >   <link rel="icon" type="image/x-icon"
> > > href="img/favicon.ico?_=5.3.0">
> > > > > > >   <link rel="shortcut icon" type="image/x-icon"
> > > > > > > href="img/favicon.ico?_=5.3.0">
> > > > > > >
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/common.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/analysis.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/cloud.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/cores.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/dashboard.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/dataimport.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/files.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/index.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/java-properties.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/logging.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/menu.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/plugins.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/documents.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/query.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/replication.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/schema-browser.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/threads.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > > > > > href="css/styles/segments.css?_=5.3.0">
> > > > > > >   <link rel="stylesheet" type="text/css"
> > > href="css/chosen.css?_=5.3.0">
> > > > > > >
> > > > > > >   <meta http-equiv="x-ua-compatible" content="IE=9">
> > > > > > >
> > > > > > >   <script type="text/javascript">
> > > > > > >
> > > > > > >   var app_config = {};
> > > > > > >
> > > > > > >   app_config.solr_path = '\/solr';
> > > > > > >   app_config.core_admin_path = '\/admin\/cores';
> > > > > > >
> > > > > > >   </script>
> > > > > > >
> > > > > > > </head>
> > > > > > > <body>
> > > > > > >
> > > > > > >   <div id="wrapper">
> > > > > > >
> > > > > > >     <div id="header">
> > > > > > >
> > > > > > >       <a href="./" id="solr"><span>Apache SOLR</span></a>
> > > > > > >
> > > > > > >       <p id="environment">&nbsp;</p>
> > > > > > >
> > > > > > >     </div>
> > > > > > >
> > > > > > >     <div id="main" class="clearfix">
> > > > > > >
> > > > > > >       <div id="init-failures">
> > > > > > >
> > > > > > >           <h2>SolrCore Initialization Failures</h2>
> > > > > > >           <ul></ul>
> > > > > > >           <p>Please check your logs for more information</p>
> > > > > > >
> > > > > > >       </div>
> > > > > > >
> > > > > > >       <div id="content-wrapper">
> > > > > > >         <div id="content">
> > > > > > >
> > > > > > >           &nbsp;
> > > > > > >
> > > > > > >         </div>
> > > > > > >       </div>
> > > > > > >
> > > > > > >       <div id="menu-wrapper">
> > > > > > >         <div>
> > > > > > >
> > > > > > >           <ul id="menu">
> > > > > > >
> > > > > > >             <li id="index" class="global"><p><a
> > > > > > > href="#/">Dashboard</a></p></li>
> > > > > > >
> > > > > > >             <li id="logging" class="global"><p><a
> > > > > > > href="#/~logging">Logging</a></p>
> > > > > > >               <ul>
> > > > > > >                 <li class="level"><a
> > > > > href="#/~logging/level">Level</a></li>
> > > > > > >               </ul>
> > > > > > >             </li>
> > > > > > >
> > > > > > >             <li id="cloud" class="global optional"><p><a
> > > > > > > href="#/~cloud">Cloud</a></p>
> > > > > > >               <ul>
> > > > > > >                 <li class="tree"><a
> > > > > href="#/~cloud?view=tree">Tree</a></li>
> > > > > > >                 <li class="graph"><a
> href="#/~cloud">Graph</a></li>
> > > > > > >                 <li class="rgraph"><a
> > > href="#/~cloud?view=rgraph">Graph
> > > > > > > (Radial)</a></li>
> > > > > > >                 <li class="dump"><a
> href="#/~cloud">Dump</a></li>
> > > > > > >               </ul>
> > > > > > >             </li>
> > > > > > >
> > > > > > >             <li id="cores" class="global"><p><a
> > > href="#/~cores">Core
> > > > > > > Admin</a></p></li>
> > > > > > >
> > > > > > >             <li id="java-properties" class="global"><p><a
> > > > > > > href="#/~java-properties">Java Properties</a></li>
> > > > > > >
> > > > > > >             <li id="threads" class="global"><p><a
> > > > > href="#/~threads">Thread
> > > > > > > Dump</a></p></li>
> > > > > > >
> > > > > > >           </ul>
> > > > > > >
> > > > > > >           <div id="core-selector">
> > > > > > >             <div id="has-cores">
> > > > > > >               <select data-placeholder="Core
> Selector"></select>
> > > > > > >             </div>
> > > > > > >             <p id="has-no-cores"><a href="#/~cores">
> > > > > > >               No cores available
> > > > > > >               <span>Go and create one</span>
> > > > > > >             </a></p>
> > > > > > >           </div>
> > > > > > >           <div id="core-menu">
> > > > > > >             <ul></ul>
> > > > > > >           </div>
> > > > > > >
> > > > > > >         </div>
> > > > > > >       </div>
> > > > > > >
> > > > > > >       <div id="meta">
> > > > > > >
> > > > > > >         <ul>
> > > > > > >
> > > > > > >           <li class="documentation"><a href="
> > > > > > > http://lucene.apache.org/solr/
> > > > > > > "><span>Documentation</span></a></li>
> > > > > > >           <li class="issues"><a href="
> > > > > > > http://issues.apache.org/jira/browse/SOLR";><span>Issue
> > > > > > > Tracker</span></a></li>
> > > > > > >           <li class="irc"><a
> > > > > > > href="https://wiki.apache.org/solr/IRCChannels";><span>IRC
> > > > > > > Channel</span></a></li>
> > > > > > >           <li class="mailinglist"><a href="
> > > > > > > http://lucene.apache.org/solr/resources.html#community
> > > > > "><span>Community
> > > > > > > forum</span></a></li>
> > > > > > >           <li class="wiki-query-syntax"><a href="
> > > > > > >
> > > > >
> > >
> https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing
> > > > > > > "><span>Solr
> > > > > > > Query Syntax</span></a></li>
> > > > > > >
> > > > > > >         </ul>
> > > > > > >
> > > > > > >       </div>
> > > > > > >
> > > > > > >     </div>
> > > > > > >
> > > > > > >   </div>
> > > > > > >
> > > > > > >   <div id="connection_status">
> > > > > > >
> > > > > > >     <span>Connection lost &hellip;</span>
> > > > > > >
> > > > > > >   </div>
> > > > > > >
> > > > > > >   <script type="text/javascript"> var require = { urlArgs:
> > > '_=5.3.0' };
> > > > > > > </script>
> > > > > > >   <script src="js/require.js?_=5.3.0"
> data-main="js/main"></script>
> > > > > > >
> > > > > > > </body>
> > > > > > > </html>
> > > > > > >
> > > > > > >
> > > > > > > On Thu, Sep 3, 2015 at 4:12 PM, Upayavira <u...@odoko.co.uk>
> wrote:
> > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On Thu, Sep 3, 2015, at 11:19 AM, Ritesh Sinha wrote:
> > > > > > > > > I am learning solr and want to use solr for stemming
> > > words.I'll be
> > > > > > > > > passing
> > > > > > > > > the word to the solr and it should send the stemmed word
> back.I
> > > > > know
> > > > > > > how
> > > > > > > > > to
> > > > > > > > > configure solr core for different stemming patterns and
> also i
> > > am
> > > > > able
> > > > > > > to
> > > > > > > > > view their stemmed words in the analyzer (solr admin ui)
> but i
> > > am
> > > > > not
> > > > > > > > > sure
> > > > > > > > > how to achieve this using java code.I am able to index and
> > > query
> > > > > using
> > > > > > > > > java
> > > > > > > > > api.
> > > > > > > >
> > > > > > > > Use your browser's "developer tools" to see what is going on
> > > behind
> > > > > the
> > > > > > > > scenes when you use the admin UI analysis tab.
> > > > > > > >
> > > > > > > > It is just an HTTP call that you can replicate from Java. I
> see
> > > that
> > > > > > > > SolrJ has a FieldAnalysisRequest that I suspect does the very
> > > same
> > > > > > > > thing.
> > > > > > > >
> > > > > > > > Hope that helps.
> > > > > > > >
> > > > > > > > Upayavira
> > > > > > > >
> > > > > > >
> > > > >
> > >
>

Reply via email to