I would go with a tokenizer to split each character as a separate token.
(maybe
https://cwiki.apache.org/confluence/display/solr/Tokenizers#Tokenizers-RegularExpressionPatternTokenizer
can do)
Add a LowerCaseFilterFactory so that casing is ignored.
Untested :
<fieldTypename="sku_custom"class="solr.TextField"positionIncrementGap="100">
<analyzer>
<tokenizerclass="solr.PatternTokenizerFactory"pattern="'(.)"group="0"/>
<tokenizerclass="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>


sku : "ABCD-EF34GD-JOHN"
would become :
sku : "a" "b" "c" "d" "-" "e" "f" "3" "4" "g" "d" "-" "j" "o" "h" "n"

Then same for query, and issue phrase searches on the sku field.
q=sku:"John"
would become :
sku : "j" "o" "h" "n"

This should work, otherwise verify what happens on the "analysis" page
of the solr admin webapp.


However, can you explain :
"3. JO - will return ABCD-EF34GD-JOHN but not car with name john."
How do you search for car named john then ?
Either queries ask explicitely for name or sku field, or matches will be
cross-fields.

André

On 08/08/2013 02:27 PM, Mysurf Mail wrote:
2. notes
1. My current query is similiar to this
http://127.0.0.1:8983/solr/vault/select?q=ABCD&qf=Name+SKU&defType=edismax

2. I want it to be case insensitive




On Thu, Aug 8, 2013 at 2:52 PM, Mysurf Mail<stammail...@gmail.com>  wrote:

I have a documnet that contains the following data

car {
     id:     guid
     name:   string
     sku:   list<barcode>
}

Now, The barcodes dont have a pattern. It can be either one of the
follwings:

ABCD-EF34GD-JOHN
ABCD-C08-YUVF

I want to index my documents so that search for
1. ABCD will return both.
2. AB will return both.
3. JO - will return ABCD-EF34GD-JOHN but not car with name john.

so far I have defined car and sku as text_en.
But I dont get bulletes no 2 and 3.
IS there a better way to define sku attribute.
Thanks.


--
André Bois-Crettez

Software Architect
Search Developer
http://www.kelkoo.com/

Kelkoo SAS
Société par Actions Simplifiée
Au capital de € 4.168.964,30
Siège social : 8, rue du Sentier 75002 Paris
425 093 069 RCS Paris

Ce message et les pièces jointes sont confidentiels et établis à l'attention 
exclusive de leurs destinataires. Si vous n'êtes pas le destinataire de ce 
message, merci de le détruire et d'en avertir l'expéditeur.

Reply via email to