【问题标题】:Carrot2+ElasticSearch Basic Flow of InformationCarrot2+ElasticSearch 基本信息流
【发布时间】:2014-09-02 22:20:47
【问题描述】:
我正在使用 Carrot2 和 ElasticSearch。安装carrot2插件后,我的弹性搜索服务器运行了大量数据。
想得到几个基本问题的答案:
感谢任何帮助。
【问题讨论】:
标签:
elasticsearch
carrot2
【解决方案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
在requests documentation找到更多信息。
【解决方案2】:
集群是否只适用于新索引的文档,甚至是旧的
文件?
它甚至适用于旧文档
如何指定要查看哪些字段以进行聚类?
这是一个使用shakepspeare dataset 的示例。问题是莎士比亚的哪些戏剧是关于战争的?
$ 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 作为表单的 REST API url 的输入
localhost:9200/article-index/article/_search_with_clusters?.....
通常使用elasticsearch client libraries 作为您选择的语言。