solr.KeywordTokenizerFactory does not work with wildcard and space - solrcloud

My schema.xml has the below field type:
<fieldType name="string_searchable" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="pub_title" type="string_searchable" indexed="true" stored="true" multiValued="true"/>
Below data is present in one of the facet (without double quotes):
pub_title:"Current Concept on the Classification and Treatment of Spondylolisthesis"
I am firing the below query on solr query console in q and I am getting no results:
pub_title:*Treatment of Spondylolisthesis*
When I try to search using the below q parameter, it works, but the search operation takes twice longer:
pub_title:*Treatment\ of\ Spondylolisthesis*
I want to have a facet with the complete string (without double quotes) "Current Concept on the Classification and Treatment of Spondylolisthesis". I also need highlighting on this field.
I tried using solr.StandardTokenizerFactory, but facets were tokenized.
Please let me know where I am going wrong.
Thanks,
Pranay

Related

Error "...FQTV DATA NOT SUPPORTED.." to Add Frequent Flyer Using PassengerDetailsRQ

I would like to add a frequent flyer using PassengerDetails as follow...
<PassengerDetailsRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.0">
<PostProcessing RedisplayReservation="true" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<EndTransactionRQ>
<EndTransaction Ind="true" />
<Source ReceivedFrom="AddingFF" />
</EndTransactionRQ>
</PostProcessing>
<PreProcessing xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<UniqueID ID="XXXXXX" />
</PreProcessing>
<SpecialReqDetails xmlns="http://webservices.sabre.com/sabreXML/2011/10" />
<TravelItineraryAddInfoRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<CustomerInfo>
<CustLoyalty MembershipID="123456789" NameNumber="1.1" ProgramID="AV" SegmentNumber="1" />
</CustomerInfo>
</TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>
But in the response, I received this error
.SEGMENT SPECIFIC FQTV DATA NOT SUPPORTED FOR THESE AIRLINES
However, I looked the list (command PT*) and it has the airline AV.
So, I didn't understand that error.
Does anybody got this error?
And other question, what does FQTV mean?
Without the complete information is hard to give a complete response, for which you might want to check with the helpdesk.
Anyway, you might need to put the carrier the person is actually traveling by adding TravelingCarrierCode="YY"
<CustLoyalty MembershipID="123456789" NameNumber="1.1" ProgramID="AV" SegmentNumber="1" TravelingCarrierCode="YY"/>
Regarding your FQTV question, it means Frequent Traveler
Issue solved.
In this case, the problem was the segment number.
I can't send it for any cias.
To solve my problem I just needed to send the request without the segment number attribute.
To know if it is necessary to send the segment number or not just execute the following command PT*{cia} (PT*AV).
Example to cia AV:
PT*AV
FQTV PARTICIPATING AIRLINE EXCHANGE/PARTNERSHIP AGREEMENTS
----------------------------------------------------------
USE. FF(OC)(FF NUMBER)/(RC)-N.N TO TRANSMIT FLIGHT INFO
OC-OWNING RC-RECEIVING
CARRIER CARRIER
/*/ SEGMENT SPECIFIC ALLOWED
AV-134 AVIANCA
ACCEPTS FF ACCOUNT NUMBERS IN THE PROGRAMS LISTED
AC AI AM AV A3* BR CA CM ET* IB* LH LR* NH*
NZ* OS OZ SA* SK SQ* TA* TG* TK* TP UA

Stacking Graphs LogiXML

I am trying to stack bar graphs up as in the picture below. My data layer is returning several values for a particular date, which corresponds to different 'codes'. However, when using Chart.XY element and feeding the data to Logi, the X-axis repeats the date for every different element (or 'code) and not stacking them properly. I believe there is something fundamental I'm doing wrong, but cannot find out what (Extra bar option set to 'Stacked'). Any help is appreciated!
This is the graph:
It may not be possible to create the exact chart you need using a single Chart.XY element. ExtraGrid Layers don't support multi-series, so you can't currently layer 2 multi-series charts on top of each other. The best option might be to build multiple charts each with it's own multi-series using a Crosstab filter.
Here's a quick example of a similar chart to your example produced with 'static' data with the Crosstab filter.
<Chart Type="XY" XYChartType="Bar" ChartHeight="300" ChartWidth="500" ChartOrientation="Horizontal" Color="#66C2A5,#FC8D62,#8DA0CB,#E78AC3" ChartLabelColumn="Item" ChartLabelColumnDataType="Text" Transparency="4">
<DataLayer Type="Static" ID="staticDL1">
<StaticDataRow Item="F" BudgetQuarter="Q1" BudgetValue="65" />
<StaticDataRow Item="F" BudgetQuarter="Q2" BudgetValue="55" />
<StaticDataRow Item="F" BudgetQuarter="Q3" BudgetValue="45" />
<StaticDataRow Item="F" BudgetQuarter="Q4" BudgetValue="60" />
<StaticDataRow Item="E" BudgetQuarter="Q1" BudgetValue="45" />
<StaticDataRow Item="E" BudgetQuarter="Q2" BudgetValue="55" />
<StaticDataRow Item="E" BudgetQuarter="Q3" BudgetValue="65" />
<StaticDataRow Item="E" BudgetQuarter="Q4" BudgetValue="70" />
<StaticDataRow Item="A" BudgetQuarter="Q1" BudgetValue="65" />
<StaticDataRow Item="A" BudgetQuarter="Q2" BudgetValue="55" />
<StaticDataRow Item="A" BudgetQuarter="Q3" BudgetValue="45" />
<StaticDataRow Item="A" BudgetQuarter="Q4" BudgetValue="60" />
<StaticDataRow Item="B" BudgetQuarter="Q1" BudgetValue="45" />
<StaticDataRow Item="B" BudgetQuarter="Q2" BudgetValue="55" />
<StaticDataRow Item="B" BudgetQuarter="Q3" BudgetValue="65" />
<StaticDataRow Item="B" BudgetQuarter="Q4" BudgetValue="70" />
<CrosstabFilter CrosstabColumn="BudgetQuarter" CrosstabLabelColumn="Item" CrosstabValueColumn="BudgetValue" CrosstabValueFunction="Sum" />
</DataLayer>
<Legend />
</Chart>
You can build 2 of these charts, one for your Budget and one for Actual. Depending on how the data is structured, you might also be able to use Extra Data Columns/Extra Grid Layers to build a more complex chart.
For more details on Crosstab charts, you might want to take a look at the Sample application for static charts:
http://devnet.logixml.com/rdPage.aspx?rdReport=Samples
Specifically, looking at the Crosstab filter :
http://devnet.logixml.com/SampleCharts/rdPage.aspx?rdReport=CrosstabFilter

XPROC - Generation of files in secondary port

My requirement is to generate one XML file and few HTML files in the secondary port. I have configured few steps in XProc.
Here’s the sample code:
<p:xslt name="create-document">
<p:input port="stylesheet">
<p:document href="stylesheet.xsl" />
</p:input>
</p:xslt>
<p:for-each>
<p:iteration-source>
<p:pipe step="create-document" port="secondary" />
</p:iteration-source>
<p:store>
<p:with-option name="doctype-public" select="'-//W3C//DTD XHTML 1.0 Frameset//EN'" />
<p:with-option name="doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd'" />
<p:with-option name="encoding" select="'UTF-8'" />
<p:with-option name="media-type" select="'text/html'" />
<p:with-option name="method" select="'xhtml'" />
<p:with-option name="omit-xml-declaration" select="'no'" />
</p:store>
</p:for-each>
The problem here is HTML file is generated properly. And the XML file is generated, but I am not able to view the XML content. Instead it displays everything in HTML format.This is because of <p:store> in the above code snippet.
How do you have two <p:store> steps? (One for HTML and the other for XML)
It would be nice if you could somehow determine with which xsl:result-document parameters each document on the secondary output was written. You would be able to duplicate those for your p:store. But you can derive other things from each document. You can retrieve the document name using base-uri(), and you can look at for instance the root element. You can put these values in a variable using:
<p:variable name="path" select="base-uri(/*)"/>
<p:variable name="root" select="local-name(/*)"/>
(Put these just below the p:iteration-source.)
You then need to decide how to call p:store. You could use XPath if, provided your XProc parser supports XPath 2.0 (like XMLCalabash does). But I’d recommend using a p:choose like this:
<p:choose>
<p:when test="ends-with($path, '.xhtml')">
<p:store
doctype-public="-//W3C//DTD XHTML 1.0 Frameset//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
encoding="UTF-8"
media-type="text/html"
method="xhtml"
omit-xml-declaration="no">
<p:with-option name="href" select="$path"/>
</p:store>
</p:when>
<p:otherwise>
<p:store
encoding="UTF-8"
media-type="application/xml"
method="xml"
omit-xml-declaration="no">
<p:with-option name="href" select="$path"/>
</p:store>
</p:otherwise>
</p:choose>
(This entire p:choose replaces the p:store you already have.)
The test in p:when only looks at $path, but you could include a test for $root as well, if you like.
It also requires you to use .xhtml as extension in your xsl:result-document statements for the HTML output, but you can easily tweak that if you like.
The var and the choose should be enough to get your XML written properly, at least.
Good luck!

How is the Correct use of ui:repeat tag to build a selctOneMenu in XHTML using JBoss Seam Framework?

This is suppose to be quite simple but I have already spent couple of hours on this without solution. My fragment of code follows:
<h:selectOneMenu id="carro" value="#{abastecimentoAction.idCarroPesquisa}" required="true">
<ui:repeat value="#{carroList.resultList}" var="_meuCarro">
<f:selectItem itemValue="#{_meuCarro.id}" itemLabel="#{_meuCarro.nome}"/>
<h:outputText value="Testes"/>
</ui:repeat>
</h:selectOneMenu>
The point is the "Testes" string is correctly printed as many times as the size of carroList.resultList but no options is printed. I get a blank combo.
tx in advance.
Just managed to fix this using:
<h:selectOneMenu id="carro" value="#{abastecimentoAction.idCarroPesquisa}" required="false">
<s:selectItems var="carro" value="#{carroList.resultList}" label="#{carro.nome}" itemValue="#{carro.id}" />
</h:selectOneMenu>

Why doesn't ${locale} resolve in my <compc> Ant task?

I've seen a number of examples, e.g. here, where people are including locale resource bundles by referencing the locale attribute in the element. For some reason this doesn't work for me. Here's what I have for the task:
<compc output="${deploy.dir}/myfrmwrk.swc" locale="en_US">
<source-path path-element="${basedir}/src/main/flex"/>
<include-sources dir="${basedir}/src/main/flex" includes="*" />
<include-libraries file="${basedir}/libs"/>
<compiler.external-library-path dir="${FLEX_HOME}/frameworks/libs/player/9" append="true">
<include name="playerglobal.swc"/>
</compiler.external-library-path>
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs"/>
<include name="locale/${locale}"/>
</compiler.library-path>
<load-config filename="${basedir}/fb3config.xml" />
</compc>
This fails with a bunch of errors of the form:
[compc] Error: could not find source for resource bundle ...
I can make it build with this one change:
<include name="locale/en_US"/>
The configuration file generated by Flex Builder 3 actually renders this as "locale/{locale}" (notice the $ is missing). I've tried that as well with the same (failing) results.
For now, I'm doing OK directly injecting en_US as we won't be doing localization bundles for quite some time, but I will eventually need to get this working. Also, it bugs me that I can't make it work the way that it SHOULD work!
I think the problem here is that ${locale} is interpreted by ant as a property, rather than a string literal to pass to the compc task. What I mean is that ant sees ${locale} and thinks that you want to substitute the value of the property locale which is (supposedly) defined in your build file. Of course, this isn't what you want at all, and things break miserably because of it.
The way I've done things in my build files is to remove the $ prefix and everything seems to work as expected. So your example would look something like this:
<compc output="${deploy.dir}/myfrmwrk.swc" locale="en_US">
<source-path path-element="${basedir}/src/main/flex"/>
<include-sources dir="${basedir}/src/main/flex" includes="*" />
<include-libraries file="${basedir}/libs"/>
<compiler.external-library-path dir="${FLEX_HOME}/frameworks/libs/player/9" append="true">
<include name="playerglobal.swc"/>
</compiler.external-library-path>
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs"/>
<!-- Ditch the dollar sign and things should work! -->
<include name="locale/{locale}"/>
</compiler.library-path>
<load-config filename="${basedir}/fb3config.xml" />
</compc>

Resources