小编Han*_*tie的帖子

用于多个数据库的tests和database_cleaner

我们有一个邮箱模型,它使用另一个邮件应用程序也连接到的辅助数据库.这称为使用

establish_connection :mail_database
Run Code Online (Sandbox Code Playgroud)

现在,我想我可以尝试将它包装在一个if语句中,以便它为测试环境使用不同的连接,但我想知道如何保持这个数据库干净,最好使用我们已经用于'常规'数据库的database_cleaner .

我希望有人可以把我推向正确的方向.

ruby ruby-on-rails

15
推荐指数
1
解决办法
3万
查看次数

ElasticSearch用于带空格的术语

我们正在运行ElasticSearch,并且在搜索包含空格的术语时遇到一些问题.一个具体的例子:有一个名叫JM Bruno的人,但是在搜索时没有返回任何结果.我隐约记得搜索这个确切的术语确实返回了结果,但我现在无法重现.

我尝试在我的tokenizer模式中添加一个空格和"\",没有太多运气.ES设置如下(在Ruby on Rails应用程序中使用Tire gem)

module Search
def self.included base
base.send :include, Tire::Model::Search
base.send :include, Tire::Model::Callbacks

base.class_eval do
  settings  analysis: {
              filter: {
                ngram: {
                  type: 'nGram',
                  max_gram: 12,
                  min_gram: 3
                },
                url_stop: {
                  type: "stop",
                  stopwords: %w[http https]
                }
              },
              tokenizer: {
                url_email_tokenizer: {
                  pattern: '[^\w\-\.@]+',
                  type: 'pattern'
                }
              },
              analyzer: {
                url_analyzer: {
                  tokenizer: "url_email_tokenizer",
                  filter: %w[url_stop ngram],
                  type: "custom"
                },
                name_analyzer: {
                  tokenizer: 'url_email_tokenizer',
                  filter: 'ngram',
                  type: 'custom'
                }
              }
            }


    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我们也使用这些标记器来搜索域名和电子邮件地址.

elasticsearch

7
推荐指数
1
解决办法
5023
查看次数

标签 统计

elasticsearch ×1

ruby ×1

ruby-on-rails ×1