如何在Elasticsearch查询中使用尾随空格?

时间:2019-06-19 06:56:08

标签: elasticsearch

我目前正在尝试在搜索中匹配尾随/前导空格,例如:

  • “ de”
  • “ het”
  • “ een”
  • “ baan”

我正在搜索的字段的类型为带有搜索_分析器“简单”的“文本”

我的文档中所述字段的示例值:

“ de bloem” “丹尼布姆” “好极了” “ hetterdo” “ de baan voor”

我想在哪里搜索:​​“ de”(注意尾随空格)并匹配“ de bloem”,但不匹配“ denbeboom”。

另一个例子: 搜索“ baan”,我想在其中匹配“ de baan voor”。

这可能吗?而我将如何实现呢?

谢谢!

'my_searching_field' => [
        'type' => 'text',
        'analyzer' => 'autocomplete_mycustom',
        'search_analyzer' => 'simple',
    ],

'autocomplete_mycustom' => [
                            'tokenizer' => 'standard',
                            'filter' => 'lowercase, ngram_mycustomn'
                        ]

'ngram_mycustomn' => [
                            'type' => 'ngram',
                            'min_gram' => '1',
                            'max_gram' => '20',
                            'token_chars' => ['letter', 'digit', 'whitespace', 'symbol', 'punctuation'],
                        ]

0 个答案:

没有答案