根据类别不同的​​领域

时间:2013-06-24 19:17:12

标签: elasticsearch

我试图使用elasticsearch来搜索产品。例如,如果产品是汽车,它将有一些领域,如“颜色”,“品牌”,“模型”,“公里”,...... 如果它是衣服,它只会有“颜色”,“大小”,...... 我想用弹性索引所有这些信息,以便能够搜索aaa km和bbb km之间公里的汽车,和/或xxxx型号,同样适用于衣服或任何其他产品。

如何在elasticsearch中创建这样的字段?我希望所有产品都在同一个索引中,因此用户可以搜索所有产品,但如果用户搜索产品类型,那么他应该能够根据这种产品指定更多细节。

我在想阵列字段,但这是否意味着即使某些字段与某些产品无关(即衣服会有千米字段?),所有产品都会包含与所有类型产品相对应的所有字段?或者,索引是否可以只提供与每种产品相对应的信息?

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用类型。使用字段颜色,品牌,型号,k等创建一个名为car的类型,然后创建一个名为cloth的类型,其中包含字段颜色,大小等。

单个索引可以有多种类型。以下两个链接可能对您有所帮助:

  1. Creating indices

  2. Creating types and mapping to the index

  3. 您可以轻松搜索各种类型,以便您可以发出这样的搜索,以返回该索引中所有类型的所有文档:

    curl -XGET http://localhost:9200/_search?pretty=true -d '{"query":{"matchAll":{}}}'
    

    其他信息 - Searching across types

    拥有数组字段不是一个好主意,因为你不会利用elasticsearch的能力来索引半结构化文档。

    一切顺利。