Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mongodb+;用于电子商务列表搜索的Solr表关系_Php_Mongodb_Solr_Lucidworks - Fatal编程技术网

Php Mongodb+;用于电子商务列表搜索的Solr表关系

Php Mongodb+;用于电子商务列表搜索的Solr表关系,php,mongodb,solr,lucidworks,Php,Mongodb,Solr,Lucidworks,我一直在使用mongodb的电子商务应用程序中工作。现在,我计划将现有的电子商务基础设施与solr集成,以管理产品目录的显示。我的主要想法是结合以下功能: -分类导航 -刻面 -地理定位 -自动建议 这是我想重新创建的应用程序布局示例: 目前,我在mongodb中拥有以下收藏: Products: { "_id" : ObjectId("568887fc14a9962460fbbcbd"), "date_created" : "2014-10-01T00:00:00Z",

我一直在使用mongodb的电子商务应用程序中工作。现在,我计划将现有的电子商务基础设施与solr集成,以管理产品目录的显示。我的主要想法是结合以下功能: -分类导航 -刻面 -地理定位 -自动建议

这是我想重新创建的应用程序布局示例:

目前,我在mongodb中拥有以下收藏:

Products: {
    "_id" : ObjectId("568887fc14a9962460fbbcbd"),
    "date_created" : "2014-10-01T00:00:00Z",
    "date_updated" : "2014-10-01T00:00:00Z",
    "name" : "Iphone 6 64gb",
    "price" : "100",
    "summary" : "Iphone 6 64gb",
    "delivery" : "Shipment",
    "shipment_location" : "USA",
    "shipment_weight" : "1",
    "shipment_package_quantity" : "1",
    "options" : {
        "id" : "price-1234567890",
        "value" : "111",
        "stock_level" : "1",
        "currency" : "usd"
    },
    "attributes" : {
        "id" : "atr_1",
        "name" : "memory",
        "values" : "64gb"
    },
    "images" : {
        "id" : "price-1234567890",
        "caption" : "image",
        "file" : [ 
            {
                "id" : "price-1234567890-1",
                "date_uploaded" : "2014-10-01T00:00:00Z",
                "length" : "123",
                "md5" : "hasg",
                "filename" : "price-1234567890-1",
                "content_type" : "PNG",
                "metadata" : "price-1324567890-1",
                "data" : "price-1234567890-1",
                "url" : "/images/folder/mongodb/a.png"
            }
        ]
    },
    "category_id" : "65",
    "category_index" : {
        "id" : "111",
        "sort" : "price"
    },
    "stock" : {
        "id" : "price-1234567890",
        "date_created" : "2014-10-01T00:00:00Z",
        "date_updated" : "2014-10-01T00:00:00Z",
        "parent_id" : "",
        "parent" : "111",
        "number" : "111",
        "quantity" : "11",
        "variant_id" : "1",
        "variant" : "11",
        "last" : "1",
        "prev_id" : "1",
        "prev" : "1",
        "level" : "1",
        "reason" : "1",
        "description" : "1",
        "order_id" : "11",
        "order" : "1"
    },
    "quantity_min" : "1",
    "quantity_inc" : "1",
}
类别收集:

{
    "_id" : 3,
    "date_created" : "2016-01-01T00:00:00Z",
    "date_updated" : "2016-01-01T00:00:00Z",
    "name" : "Computers",
    "slug" : "Computers",
    "description" : "Computers",
    "meta_description" : "Computers",
    "meta_keyword" : "Computers",
    "navigation" : "true",
    "top_id" : 3,
    "top" : "true",
    "parent_id" : 2,
    "parent" : "Default",
    "active" : "y",
    "productype" : "simple",
    "path" : "Computers",
    "categoryids" : "2,3",
    "children" : "yes",
}
{
    "_id" : ObjectId("568073e5bf244c701d000179"),
    "text" : "Jose",
    "version" : 2,
    "taxonomyid" : "56803181bf244c701d000170",
    "orderValue" : 1600,
    "expandable" : false,
    "nativeLanguage" : "en",
    "i18n" : {
        "en" : {
            "text" : "Jose",
            "locale" : "en"
        }
    },
}
分类法:

{
    "_id" : ObjectId("56803181bf244c701d000170"),
    "category_id" : "65",
    "name" : "Names",
    "expandable" : false,
    "inputAsTree" : true,
    "multiSelect" : true,
    "mandatory" : false,
    "version" : 9,
    "createTime" : 1451240000.0000000000000000,
    "lastUpdateTime" : 1451280000.0000000000000000,
}
分类系统集合:

{
    "_id" : 3,
    "date_created" : "2016-01-01T00:00:00Z",
    "date_updated" : "2016-01-01T00:00:00Z",
    "name" : "Computers",
    "slug" : "Computers",
    "description" : "Computers",
    "meta_description" : "Computers",
    "meta_keyword" : "Computers",
    "navigation" : "true",
    "top_id" : 3,
    "top" : "true",
    "parent_id" : 2,
    "parent" : "Default",
    "active" : "y",
    "productype" : "simple",
    "path" : "Computers",
    "categoryids" : "2,3",
    "children" : "yes",
}
{
    "_id" : ObjectId("568073e5bf244c701d000179"),
    "text" : "Jose",
    "version" : 2,
    "taxonomyid" : "56803181bf244c701d000170",
    "orderValue" : 1600,
    "expandable" : false,
    "nativeLanguage" : "en",
    "i18n" : {
        "en" : {
            "text" : "Jose",
            "locale" : "en"
        }
    },
}
分类学术语指的是分类学。在第一种方法中,您可以定义主名称,并在术语中定义与分类法相关的术语(选项)。分类法:名称。分类术语:bob jose pedro

有没有人能告诉我,为了在mongo中实现与提议的集合模式的集成,在solr中进行设计,我必须做些什么

  • 分类导航:整个虚拟店面上的产品都有引导导航
  • 刻面:自动提取产品信息,使客户能够按颜色、尺寸、品牌、本地可用性和价格进行筛选
如何使用分类导航映射类别。? 如何将分类术语映射到刻面。? solr是否为facet提供设置配置区域


或者您认为可能更好的任何不同方法。

听起来这个电子商务应用程序是定制开发的,而不是托管在可能有Solr连接器的平台上,因此这需要学习很多关于Solr的知识,并在此搜索页面上进行大量定制开发


您的Solr产品集合至少需要包含以下字段:

  • 产品ID(用于链接回应用程序或查询mongo等)
  • 您需要搜索的所有文本(每个可搜索文本属性的一个字段,一个包含所有可搜索文本的大“文本搜索”字段,或者介于两者之间。)
  • 排序、筛选、评分(以及显示)所需的所有产品属性/字段-您可以选择按产品ID查询mongo,以检索每个搜索结果的显示信息
  • 要对其进行镶嵌面计数的所有属性(多值)。这可能包括适用的类别、分类术语和产品属性,如颜色、尺寸、品牌、本地可用性和价格
  • 把你的收藏想象成一个老式的非规范化/扁平化视图,其中包含搜索所需的所有产品(及相关)数据


    (a) 分类导航:整个虚拟店面上的产品都有引导导航

    查看Solr的页面

    (b) 刻面处理:自动提取产品信息,使客户能够按颜色、尺寸、品牌、本地可用性和价格进行筛选

    Solr将为请求的字段的所有值(出现在搜索结果中)。这意味着您需要为集合中的每个可刻面属性都有一个字段。您必须直接定义/映射这些