Searchkick - Elasticsearch - 带有下划线而不是白色的名称 space
Searchkick - Elasticsearch - Names with underscore instead of white space
我们有标签示例:
hello_my_name_is
Tag.search "hello"
=> []
但是当尝试使用 searchkick/elasticsearch 搜索 hello
时,我们没有得到任何结果。我们明确需要搜索 hello_my_name_is
才能获得它。
Tag.search "hello_my_name_is"
=> [{name: "hello_my_name_is"...}]
有什么办法可以解决这个问题吗?
ElasticSearch 关心您执行的搜索类型。在这种情况下,默认是整个单词的匹配。解决问题的一种方法是使用 searchkick gem.
的 partial matches 功能
Tag.search "hello", fields: [:name], match: :word_start
不要忘记在进行更改后重新编制索引。
我们有标签示例:
hello_my_name_is
Tag.search "hello"
=> []
但是当尝试使用 searchkick/elasticsearch 搜索 hello
时,我们没有得到任何结果。我们明确需要搜索 hello_my_name_is
才能获得它。
Tag.search "hello_my_name_is"
=> [{name: "hello_my_name_is"...}]
有什么办法可以解决这个问题吗?
ElasticSearch 关心您执行的搜索类型。在这种情况下,默认是整个单词的匹配。解决问题的一种方法是使用 searchkick gem.
的 partial matches 功能Tag.search "hello", fields: [:name], match: :word_start
不要忘记在进行更改后重新编制索引。