Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails elasticsearch:搜索多个字段的最佳性能?_Ruby On Rails_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Lucene_Tire - Fatal编程技术网 elasticsearch,lucene,tire,Ruby On Rails,elasticsearch,Lucene,Tire" /> elasticsearch,lucene,tire,Ruby On Rails,elasticsearch,Lucene,Tire" />

Ruby on rails elasticsearch:搜索多个字段的最佳性能?

Ruby on rails elasticsearch:搜索多个字段的最佳性能?,ruby-on-rails,elasticsearch,lucene,tire,Ruby On Rails,elasticsearch,Lucene,Tire,我们正在使用elasticsearch和rails,使用retire gem。目前,我们索引了大量字段(30+),其中只有6个字段当前可全文搜索(用户名、用户电子邮件、用户标题等) 我们希望朝着所有领域都可搜索的方向发展。因此,不只是这6个主要字段是可搜索的,所有30个(可能更多)都是可搜索的。所谓可搜索,我指的是精确匹配、前缀、模糊匹配和子字符串匹配 我们正在考虑两种战略: 1) 使用正确的分析器和标记器(已经计算出该部分)分别为每个字段编制索引,以满足所需的可搜索性要求 2) 创建所有其他字

我们正在使用elasticsearch和rails,使用retire gem。目前,我们索引了大量字段(30+),其中只有6个字段当前可全文搜索(用户名、用户电子邮件、用户标题等)

我们希望朝着所有领域都可搜索的方向发展。因此,不只是这6个主要字段是可搜索的,所有30个(可能更多)都是可搜索的。所谓可搜索,我指的是精确匹配、前缀、模糊匹配和子字符串匹配

我们正在考虑两种战略:

1) 使用正确的分析器和标记器(已经计算出该部分)分别为每个字段编制索引,以满足所需的可搜索性要求

2) 创建所有其他字段的索引文本blob,并将该blob作为一个整体进行索引

我很好奇上述两种解决方案的权衡是什么。我们正在寻找:

1) 良好的写入性能。我们的对象经常变化(这是一个带有配置文件的可搜索用户索引)

2) 随着时间的推移,向索引添加新字段的难度越来越大


3) 当然,请阅读性能。

您的用户可以定义自定义字段吗?如果是这样的话,您应该在这里查看关于键/值问题的部分:@AlexBrasetvik我们不允许用户定义自定义字段,尽管有一个包含字符串数组的“label”字段。