Developer forum

Forum » Dynamicweb 9.0 Upgrade issues » Filters
Gheorghe Balan
Reply

Hi

I am experiencing a challenge regarding filters in Rapido 2. 

It seems that if the filter is composed of two words separated by space - it will be interpreted as two different values.

Also if the value contains decimals, it seems like some weird conversion happens because the outputted value does not correspond to the actual value.

Have a look at this example: http://testhjj.hjj.dk/h-jessen-jurgensen/webshop/produkter/klimaanlaeg-og-varmepumper-1?ScrollPos=400

If you look at kølekapacitet for instance, and then open this product: http://testhjj.hjj.dk/h-jessen-jurgensen/webshop/produkter/klimaanlaeg-og-varmepumper/close-controls-proces-klimaanlaeg/bluebox-ucwco14xs-close-control

You will notice the value for Kølekapacitet has been formatted in a wrong way in the filter, and the "w" unit is a separate filter in its own right. This is not the expected result.

Do you have a fix for this, or at least a "recipe" for what kind of values a filter can contain, and more importantly which characters are not allowed as a filter ?

Br

Gheorghe


Replies

 
Nicolai Pedersen
Reply

Hi Gheorge

The wonders of Lucene - it is how it works with analyzers, tokenizers and types like dates and numbers. It is all in the documentation... http://doc.dynamicweb.com/documentation-9/platform/indexing-search/repositories

There are 2 things

  • Fields are usually indexed "Analyzed" meaning that Lucene normalize and tokenize a string. So "My great brand" becomes 3 terms: my, great, brand. So if you create a facet on this field analyzed, you get 3 options. SOLUTION: Index the field without being analyzed. Then there is only one term "my great brand"
  • Doubles, decimals etc cannot be used as facets if you index them as their types. You have 2 options
    • Either index the field as a string, not analyzed of course
      or
    • Use a grouping field on the index to group values in categories

See the documentation:

How analyzed works and what to do with facets: http://doc.dynamicweb.com/documentation-9/platform/indexing-search/indexes#4782

How grouping fields work: http://doc.dynamicweb.com/documentation-9/platform/indexing-search/indexes#4785

BR Nicolai

 
Gheorghe Balan
Reply

Hi Nicolai

Thank you for the reply. 

I will check the data types. There might be some values that are stored as decimals. 

In regards to the indexing- the problem is that all the fields are "custom fields" on the product - and they are stored in the Lucene Index as "Schema extender" - so they pop out automatically whenever we update them. 

This is a good feature because the fields modify all the time, and the index is updated accordingly. It would not only be a logistic hell to create all those fields manually in the index, but it would also lead to a lot of working hours if we should have to configure each and every one of them (there are around 800 fields at the moment, with more to come). 

So is it possible to set all the fields in the schema extender not to be "Analyzed" by default ?

 

Br Gheorghe

 
Nicolai Pedersen
Reply
This post has been marked as an answer

May I suggest another look into the documentation: http://doc.dynamicweb.com/documentation-9/platform/indexing-search/indexes#4777

Votes for this answer: 1
 
Gheorghe Balan
Reply

I'll do that. 

 

You must be logged in to post in the forum