Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch ElasticSeach-获取不完整词和复数词_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Elastica - Fatal编程技术网 elasticsearch ElasticSeach-获取不完整词和复数词,elasticsearch,elastica,elasticsearch,Elastica" /> elasticsearch ElasticSeach-获取不完整词和复数词,elasticsearch,elastica,elasticsearch,Elastica" />

elasticsearch ElasticSeach-获取不完整词和复数词

elasticsearch ElasticSeach-获取不完整词和复数词,elasticsearch,elastica,elasticsearch,Elastica,我有一个使用Elastica客户端在ElasticSearch中编制索引的产品目录 在实现搜索时,我在键入的搜索词后添加了*,这样当键入whis或whisk时,他就已经开始看到whisky的搜索结果了 但我想在键入poster时显示poster的结果 我能够使用snowball过滤器实现从复数到单数的结果。但是为了让它工作,我必须删除* 这是不好的,因为在输入完整单词之前不会显示结果 你知道我该怎么做吗?我的分析器代码:(取自) 我使用了自定义功能 我使用准确的搜索短语进行搜索,而不使用*。我的

我有一个使用Elastica客户端在ElasticSearch中编制索引的产品目录

在实现搜索时,我在键入的搜索词后添加了
*
,这样当键入
whis
whisk
时,他就已经开始看到
whisky
的搜索结果了

但我想在键入
poster
时显示
poster
的结果

我能够使用
snowball
过滤器实现从复数到单数的结果。但是为了让它工作,我必须删除
*

这是不好的,因为在输入完整单词之前不会显示结果

你知道我该怎么做吗?我的分析器代码:(取自)


我使用了自定义功能

我使用准确的搜索短语进行搜索,而不使用
*
。我的代码查找结果计数。如果它是一个不完整的单词,它可能会返回一个空结果。因此,我在结果查询中附加了一个
*
,并进行了另一次搜索


这使我的自动建议结果速度变慢,但功能正常。

Bump!有人知道什么吗?
'analysis' => array(
    'analyzer' => array(
        'indexAnalyzer' => array(
            'type' => 'custom',
            'tokenizer' => 'whitespace',
            'filter' => array('lowercase', 'mySnowball')
        ),
        'searchAnalyzer' => array(
            'type' => 'custom',
            'tokenizer' => 'whitespace',
            'filter' => array('lowercase', 'mySnowball')
        )
    ),
    'filter' => array(
        'mySnowball' => array(
            'type' => 'snowball',
            'language' => 'English'
        )
    )
)