我是Solr新手,在更新字段和执行搜索时遇到了奇怪的行为。
下面是一个场景:我的核心有300个记录,我有一个搜索查询,其中我使用以下内容过滤了结果
fq=IsSoldHidden:false AND IsDeleted:false AND StoreId:60和我按DateInStock asc分类
所有内容都完美地返回了我的预期结果,下面是我的查询的前3名结果示例:
--------------------------------------------------------------------------------------
id | Price | IsSoldHid
我正在使用Tire gem在我的应用程序中执行搜索。在我的控制器中,我执行搜索:
@results = Model.search(query: params[:query])
然后,我希望使用自定义排序方法对结果进行重新排序
@results.each_with_hit do |result|
# complex math that computes final score.
# calculations include model attributes and _score field
# ...
# modify score for the
我有三个主要问题需要帮助回答。
如何正确地映射和存储嵌套映射?
如何搜索文档的嵌套部分?
如何进行批量索引?
我正在使用Nest 2,并且一直在查看新的文档,这些文档可以找到。这些文档在创建代码的某些部分方面很有用,但不幸的是没有解释它们是如何结合在一起的。
这是我想要画的课程。
[ElasticsearchType(Name = "elasticsearchproduct", IdProperty = "ID")]
public class esProduct
{
public int ID { get; set; }
[N
我们有一个ES索引,它有一个以数组形式存储数据的字段。在此字段中,我们包括原始文本,加上不带任何标点符号、特殊字符等的文本。问题是,在该字段上搜索时,多个值似乎会影响分数。
例如,如果我们搜索“up”一词,具有数组“up,up and may”,“up and away”的文档的得分高于数组为“up”的文档的得分(我们使用multi_match是因为我们可以搜索多个字段)。
最后,我猜我要寻找的是一个分数,它模拟计算数组中每一项的分数,并返回给我最高的分数。我相信在这种情况下,将“Up”与“Up”和“Up,Up and Away”进行比较,我会得到一个更高的分数。
根据我的研究,我相信我可能需
我试图在Elasticsearch中查询,但一次又一次地,我从elasticsearch中得到了相同查询的不同结果集。我的集群有3个分片和2个副本。我的第一个猜测是,这可能是因为碎片的作用,所以我尝试使用dfs_query_then_fetch查询,但仍然有相同的问题,经过大量搜索后,我发现它正在搜索的碎片正在发生变化,所以我使用首选项进行查询。我仍然观察到了同样的问题。我现在别无选择,不知道问题出在哪里。在此粘贴我的查询
POST _search?search_type=dfs_query_then_fetch&preference=metiswayfinder
{