我想根据不区分大小写的标题搜索文章。
我试图这样编码
Article.search(where: {title: /some_titles_here/i}, load: false)
但这是行不通的。
最佳答案
为了对不区分大小写的字段启用字段搜索,您需要在索引创建时间的字段上创建适当的映射,以下是有关如何执行此操作的示例:
$ curl -XPUT localhost:9200/Article/ -d '
{
"settings":{
"index":{
"analysis":{
"analyzer":{
"analyzer_keyword":{
"tokenizer":"keyword",
"filter":"lowercase"
}
}
}
}
},
"mappings":{
"Article":{
"properties":{
"title":{
"analyzer":"analyzer_keyword",
"type":"string"
}
}
}
}
}'
还有一个选项可以在搜索时指定分析器,但这取决于您使用的ES版本,并且其性能可能不如在索引创建时使用分析器。
关于ruby-on-rails - SearchKick:如何在Elastic中使用正则表达式搜索字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58918957/