Ste*_*eve 7 sql postgresql ruby-on-rails ruby-on-rails-3 elasticsearch
如果使用SQL"Like"语句来查询数据,即使它只是部分匹配,它也会返回数据.例如,如果我正在搜索食物,并且在使用SQL时我的数据库中有一个名为"raisins"的项目,即使我的搜索只包含"rai",查询也会返回"raisins".在elasticsearch中,除非指定了整个名称(在本例中为"raisins"),否则查询不会返回记录.如何使elasticsearch的行为与SQL语句类似.我正在使用Rails 3.1.1和PostgreSQL.谢谢!
为elasticsearch创建模型索引时,在索引上使用tokenizer来满足您的要求.对于.例如
tokenizer: {
:name_tokenizer => {type: "edgeNGram", max_gram: 100, min_gram: 3, side: "front"}
}
Run Code Online (Sandbox Code Playgroud)
这将创建大小从3到100的字段的标记,并且作为前面给出的标记将从开始检查.您可以从这里获得更多详细信息http://www.slideshare.net/clintongormley/terms-of-endearment-the-elasticsearch-query-dsl-explained
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |