0

我正在使用 Carrot2 和 ElasticSearch。当我安装carrot2插件时,我的弹性搜索服务器运行了大量数据。

想得到几个基本问​​题的答案:

  • 集群是否只适用于新索引的文档甚至旧文档?

  • 如何指定要查看哪些字段以进行聚类?

  • curl 命令正在运行并给出了一些结果。如何获取 curl 命令,该命令将 JSON 作为 localhost:9200/article-index/article/_search_with_clusters 形式的 REST API url 的输入?.....

感谢任何帮助。

4

2 回答 2

1

是的,如果您想在 ES 安装后直接使用该插件,您需要自己进行 REST 调用。我相信你正在使用 Python。看看requests。它是一个令人愉快的 Python REST 工具。

要发出 POST 请求,您可以执行以下操作:

import json
url = 'localhost:9200/article-index/article/_search_with_clusters'
payload = {'some': 'data'}
r = requests.post(url, data=json.dumps(payload))
print r.text

在请求文档中查找更多信息。

于 2014-05-09T12:28:54.673 回答
0

集群是否只适用于新索引的文档甚至旧文档?

它甚至适用于旧文档

如何指定要查看哪些字段以进行聚类?

这是使用莎士比亚数据集的示例。问题是莎士比亚的哪些戏剧是关于战争的?

$ curl -XPOST http://localhost:9200/shakespeare/_search_with_clusters?pretty -d '
{
  "search_request": {
    "query": {"match" : { "_all": "war" }},
    "size": 100
  },

  "max_hits": 0,
  "query_hint": "war",
  "field_mapping": {
    "title": ["_source.play_name"],
    "content": ["_source.text_entry"]
  },
  "algorithm": "lingo"
}'

运行这个你会得到像 Richard、Henry 这样的剧本......标题是胡萝卜2 用来开发集群名称的内​​容,而文本条目是它用来制作集群的内容。

curl 命令正在运行并给出了一些结果。如何获取 curl 命令,该命令将 JSON 作为 localhost:9200/article-index/article/_search_with_clusters 形式的 REST API url 的输入?.....

通常使用elasticsearch 客户端库作为您选择的语言。

于 2014-09-02T13:49:26.337 回答