Hello,

I add data add Elasticsearch this code :

    $data = array("name"=>HelperMC::strToUtf8(trim($name)),
            "urlname"=>HelperURL::strToURL(trim($name)),
            "price"=>number_format(HelperParser::clearTextFromPrice($price), 
2, ',', '.'),
            "price_for_filter"=>HelperParser::clearTextFromPrice($price),
            "image"=>$imgname,
            "description"=>HelperMC::strToUtf8($description),
            "keywords"=>HelperMC::strToUtf8($keywords),
            "url"=>$k['url'],
            "sitemap_id"=>intval($sitemapId),
            "shop_id"=>$shop['shop_id'],
            "logo"=>$shop['logo'],
            "key"=>$hashKey,
            "type"=>intval(1),
            "shop_rating_count"=>intval($shop['rating_count']),
            "shop_rating_point"=>intval($shop['rating_point']),
            "created_at"=>date("Y-m-d H:i:s"),
            "updated_at"=>date("Y-m-d H:i:s"));
                                       
    //create elasticsearch index
    HelperES::insertEntry(json_encode($data),$hashKey);     



My insertEntry Function:

    private static $elasticBase = "http://localhost:9200/shopping/items";;

    public static function insertEntry($data_string,$id = false){
        if($id)
            $url = self::$elasticBase."/".$id;
        else
            $url = self::$elasticBase;

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL , $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        @$result = curl_exec($ch);
        curl_close($ch);

        return $result;
    }



and my search Function :

    public static function search($keyword, $defaultOperator = "OR" ,$start 
= 0, $size = 25, $from = 0, $to = 10000, $shopsArr = array(),$orderBy = 
"price", $order = "asc"){
        $searchUrl = self::$elasticBase."/_search";

        if(count($shopsArr) > 0){
            $query = '{
                            "from" : '.$start.', "size" : '.$size.',
                            "query" : {
                                "filtered" : {
                                 "query": {
                                    "query_string": { "query": "'.$keyword.
'",
                                    "fields": ["name","urlname"],
                                    "default_operator": "'.$defaultOperator.
'"
                                    }
                                  },
                                    "filter" : {
                                         "bool" : {
                                            "must" : {
                                                "terms" : { "sitemap_id" : '
.json_encode($shopsArr).' }
                                            },
                                            "must" : {
                                                "range" : {
                                                            
"price_for_filter" : {
                                                                "from" : "'.
$from.'",
                                                                "to"  : "'.
$to.'"
                                                            }
                                                          }
                                            }
                                    }
                                }
                            }
                        },
                        "sort" : [
                                      {"'.$orderBy.'" : {"order" : "'.$order
.'", "mode" : "avg"}}
                                 ]
                    }';
        }else{
            $query = '{
                    "from" : '.$start.', "size" : '.$size.',
                    "query" : {
                        "filtered" : {
                         "query": {
                                "query_string": { 
                                    "query": "'.$keyword.'",
                                    "fields": ["name","urlname"],
                                    "default_operator": "'.$defaultOperator.
'"
                                }
                              },
                            "filter" : {
                                "range" : {
                                    "price_for_filter" : {
                                        "from" : "'.$from.'",
                                        "to"  : "'.$to.'"
                                    }
                                }
                            }
                        }
                    },
                    "sort" : [
                                 {"'.$orderBy.'" : {"order" : "'.$order.'", 
"mode" : "avg"}}
                             ]
                }';
        }
        

        echo $query;    


        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL , $searchUrl);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  
        curl_setopt($ch, CURLOPT_POSTFIELDS, $query); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        @$result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }




But my search results not working. 

Example :
working -> http://goo.gl/KHO1Ia
or
working -> goo.gl/AuxCrR

not working --> http://goo.gl/GB8uUV

Pls help me? Thank you

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/92f9439a-336a-4543-b378-8d28b71b193a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to