Elastica multi_field设置

时间:2013-03-16 15:55:52

标签: mapping elasticsearch elastica

我正在尝试将elasticsearch的multi_field语法与Elastica结合使用。我创建了一个索引和一个映射,如下所示:

$mapping->setProperties(array(
    'id'         => array('type' => 'string', 'include_in_all' => true),
    'title'      => array('type' => 'string', 'include_in_all' => true),
    'publisher'  => array('type' => 'multi_field', 'include_in_all' => TRUE, 'fields' => 
       array('publisherName' => array('type' => 'string', 'index' => 'analyzed'),
             'untouched'     => array('type' => 'string', 'index' => 'not_analyzed')
    )
));

到目前为止,这么好。我可以对标题字段运行查询。

但是当我尝试在http://example.com:9200/_plugin/head/中查询字段“publisher”时,我无法选择字段发布者或创建结构化查询。我看,字段发布者不在索引中。

但我可以在publisher.untouched上构建方面,这非常有效。我的映射有什么问题?我需要搜索出版商。

1 个答案:

答案 0 :(得分:0)

请参阅multi_field mapping上的文档。您似乎需要通过将“publisherName”更改为“publisher”来设置默认字段。