我在我的 Symfony 项目中安装了 ONGR ElasticSearchBundle。要使用公司名称和描述搜索索引,索引名称是公司。它看起来是这样的:
"mappings": {
"_doc": {
"properties": {
"id": {"type": "long"},
"entityid": {"type": "long"},
"entityname": {"type": "keyword"},
"name": {"type": "text"},
"street": {"type": "text"},
"city": {"type": "text"},
"zip": {"type": "long"},
"ziptext": {"type": "keyword"},
"regionisocode": {"type": "keyword"},
"desc": {"type": "text"},
"branch": {"type": "text"},
"branchid": {"type": "long"},
"foundingyear": {"type": "date"}
}
}
}
然后我使用控制台工具创建了一个文档。
/**
* Company
*
* @ES\Document()
*/
class Company
{
/**
* @var string
*
* @ES\Property(type="long", options={"index"="not_analyzed"})
*/
private $id;
/**
* @var string
*
* @ES\Property(type="long", options={"index"="not_analyzed"})
*/
private $entityid;
/**
* @var string
*
* @ES\Property(type="keyword", options={"index"="not_analyzed"})
*/
private $entityname;
...
到目前为止,这似乎有效。与 ElasicSearch 主机的连接正常,但即使我执行 MatchAllQuery() 我也没有得到搜索结果,我认为这是一个映射问题?Mayby有人有提示吗?
真挚地