文档类中的ONGR ElasticSearchBundle映射

时间:2019-06-06 15:11:15

标签: elasticsearch ongr

我在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()我也没有得到搜索结果,我认为这是一个映射问题?可能有人暗示了吗?

真诚的

1 个答案:

答案 0 :(得分:0)

您对所使用的工具(ES旁边)没有任何经验,但是您实际上是否对任何文档建立索引/插入了吗?

如果您的ES在本地运行,请尝试:localhost:9200/companies/_search来验证是否有任何文档以及是否已实际创建索引。

您是否遵循these步骤?此外,here还可以找到有关索引数据的更多信息。

祝您编程愉快! :D