如何构建Elasticsearch索引/类型?

时间:2014-02-16 10:13:12

标签: full-text-search elasticsearch indices

您如何为eshop应用程序构建索引/类型?这样的eshop将由诸如产品,类别,标签,制造商等的域对象组成。全文搜索结果页面应该显示所有域对象的混合列表。

我可以想到两个选择:

  1. 每个应用程序一个索引,每个域对象作为一种类型。
  2. 每个域对象都有自己的索引,类型相同 - " item"。
  3. 哪个选项可以更好地扩展?

    大多数"项目"在数据库中是产品。有些产品还没有/现在可用。如何提升目前可用的产品?

    全文应该更喜欢在页面顶部显示类别/制造商。如何从某个索引中提升某些类型/对象?

1 个答案:

答案 0 :(得分:2)

为了获得更好的表现,我建议第一个选择更好。

1)“每个应用程序一个索引,每个域对象作为一个类型。”

2)考虑创建名为“ eshop ”的索引。以及移动,书籍等类型

3)因为您可以根据您的用户输入进行查询。考虑您创建像flipkart这样的购物网站。在搜索中,用户可以使用普通关键字进行搜索。

4)现在你只需要提到索引名就可以在Elasticsearch中搜索。如果用户引用和手机一样的过滤器,范围1000-10000.你需要在移动类型内搜索,而且我们可以轻松过滤Elasticsearch.it会减少你的执行内存和CPU。

提升可用产品。在您的文档中添加一个名为“ available”的字段。在搜索时提及可用产品的提升值。例如:

    {
      "query": {
        "term": {
          "available": true
        }
      }
      "boost": 1.5
    }

有关更多提升的内容,请参阅

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html

http://jontai.me/blog/2013/01/advanced-scoring-in-elasticsearch/