0

我正在尝试将 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.untouched 上构建方面,效果很好。我的映射有什么问题?我需要搜索发布者。

4

1 回答 1

0

请参阅有关multi_field 映射的文档。看起来您需要通过将“publisherName”更改为“publisher”来设置默认字段。

于 2014-01-29T06:51:55.207 回答