[jira] [Comment Edited] (OFBIZ-4535) Search using Russian word (maybe others) causes distortion and failed product search

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Comment Edited] (OFBIZ-4535) Search using Russian word (maybe others) causes distortion and failed product search

Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13788313#comment-13788313 ]

Sebastian Wachinger edited comment on OFBIZ-4535 at 10/7/13 6:55 PM:
---------------------------------------------------------------------

As pointed out by mz4wheeler, just taking out the _CatalogUrlFilter_ does not solve the problem, specially when you are already using it in the shop.

After I did not succeed in manipulating web.xml accordingly (i.e. performing some url-pattern or allowedPaths wizardry), I inserted those four lines into _CatalogUrlFilter.java_ which solved this problem for me, along with the bug described in [OFBIZ-2837|https://issues.apache.org/jira/browse/OFBIZ-2837]:

{code:title=CatalogUrlFilter.java|borderStyle=solid}
--- applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java (revision 1529578)
+++ applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java (working copy)
@@ -80,7 +80,12 @@
         if (UtilValidate.isNotEmpty(pathInfo)) {
             List<String> pathElements = StringUtil.split(pathInfo, "/");
             String alternativeUrl = pathElements.get(0);
             
+            if (alternativeUrl.startsWith("control")) {
+                chain.doFilter(request, response); // Just continue chain.
+                return;
+            }
+            
            String productId = null;
            String productCategoryId = null;
            String urlContentId = null;
{code}

While this works for now, somehow it does not deal with the underlying cause, so I would be interested in hearing what the expert's opinion here might be!
After all having customers' names and addresses encoded correctly is a must when targeting a global audience.

On a related issue, I would like to know if there are any drawbacks in the solution Paul proposed in [Proposal-URL-Generation-Changes|http://ofbiz.135035.n4.nabble.com/Proposal-URL-Generation-Changes-td4639289.html] (as quoted in [OFBIZ-5312|https://issues.apache.org/jira/browse/OFBIZ-5312]), compared to the current implementation of _CatalogUrlFilter_.
Though I'm glad that _CatalogUrlFilter_ exists and happily use it, Paul points at some issues there.







was (Author: komdata):
As pointed out by mz4wheeler, just taking out the _CatalogUrlFilter_ does not solve the problem, specially when you are already using it in the shop.

After I did not succeed in manipulating web.xml accordingly (i.e. performing some url-pattern or allowedPaths wizardry), I inserted those four lines into _CatalogUrlFilter.java_ which solved this problem for me, along with the bug described in [OFBIZ-2837|https://issues.apache.org/jira/browse/OFBIZ-2837]:

{code:title=CatalogUrlFilter.java|borderStyle=solid}
--- applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java (revision 1529578)
+++ applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java (working copy)
@@ -80,7 +80,12 @@
         if (UtilValidate.isNotEmpty(pathInfo)) {
             List<String> pathElements = StringUtil.split(pathInfo, "/");
             String alternativeUrl = pathElements.get(0);
             
+            if (alternativeUrl.startsWith("control")) {
+                chain.doFilter(request, response); // Just continue chain.
+                return;
+            }
+            
            String productId = null;
            String productCategoryId = null;
            String urlContentId = null;
{code}

While this works for now, somehow it does not deal with the underlying cause, so I would be interested in hearing what the expert's opinion here might be!
After all having customers' names and addresses encoded correctly is a must when targeting a global audience.

On a related issue, I would like to know if there are any drawbacks in the solution Paul proposed in [Proposal-URL-Generation-Changes|http://ofbiz.135035.n4.nabble.com/Proposal-URL-Generation-Changes-td4639289.html] as quoted in [OFBIZ-5312|https://issues.apache.org/jira/browse/OFBIZ-5312] compared to the current implementation of _CatalogUrlFilter_.
Though I'm glad that _CatalogUrlFilter_ exists and happily use it, Paul points at some issues there.






> Search using Russian word (maybe others) causes distortion and failed product search
> ------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-4535
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4535
>             Project: OFBiz
>          Issue Type: Bug
>          Components: specialpurpose/ecommerce
>    Affects Versions: SVN trunk, Release Branch 12.04
>         Environment: Ubuntu and others.
>            Reporter: mz4wheeler
>         Attachments: r1127449-r1127394.diff
>
>
> NOTE: The following post contains UTF8 characters.
> After rebuilding keywords in a UTF8 database (postgres) and searching a UTF8 browser (chrome), the Russian phrase is correctly present in the database, as follows:
> ofbiz=# select * from product_keyword where keyword = 'игроков';
>    product_id    | keyword | relevancy_weight (trimmed)
> -----------------+---------+-----------------
>  DVDMV-ADVANGYM  | игроков |                1
> However, when pasting 'игроков' into ecommerce Search, the following is returned "Not Found"
> Keywords: "Ð¸Ð³Ñ Ð¾ÐºÐ¾Ð²", where any word matches, which distorts the search.
> This may affect other languages, which I haven't tested.
> I also tried the same search in 12.04 (demo) and trunk and it produces the same issue.  This means that multi-language product search is broken in OFBiz.  11.04 is unaffected.



--
This message was sent by Atlassian JIRA
(v6.1#6144)