相关疑难解决方法(0)

ElasticSearch - 在名称中使用连字符进行搜索

我有一个产品目录,我使用Elastica客户端在ElasticSearch中编制索引.我是ElasticSearch BTW的新手.

我的目录中有些产品有't-shirt'其名称.但是,如果我输入,它们将不会出现在搜索结果中'tshirt'.

我能做什么,'t-shirt'也可以弹出结果?

我已经按照教程并为索引实现了以下内容:

'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'
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

elasticsearch elastica

6
推荐指数
1
解决办法
3489
查看次数

ElasticSearch用单词内的连字符搜索

我想寻求帮助。我想在标题和内容中搜索一个单词。这是结构

'body' => array(
  'mappings' => array(
    'myindex' => array(
      '_source' => array(
        'enabled' => true
      ),
      'properties' => array(
        'Title' => array(
          'type'  => 'string',
          'fields'=> array(
            'raw' => array(
               'type'  => 'string',
               'index' => 'not_analyzed'
              )
            )
          ),
          'Content' => array(
            'type'  => 'string'
          ),
          'Image' => array(
             type'      => 'string',
             'analyzer'  => 'standard'
         )
       )
     )
   )
 )
Run Code Online (Sandbox Code Playgroud)

查询字符串看起来像这样,在这里我想在“ 15-game”之类的文本中搜索“ 15-g”:

"query" : {
  "query_string": {
    "query": "*15-g*",
    "fields": [ "Title", "Content" ]
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我重复这个问题,请接受我的道歉,但我无法查明正在发生什么以及为什么它不返回任何结果。

我已经看过: …

search hyphen elasticsearch

5
推荐指数
1
解决办法
7723
查看次数

标签 统计

elasticsearch ×2

elastica ×1

hyphen ×1

search ×1