Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
Php 弹性搜索指数得分_Php_Symfony_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Configuration_Yaml - Fatal编程技术网 elasticsearch,configuration,yaml,Php,Symfony,elasticsearch,Configuration,Yaml" /> elasticsearch,configuration,yaml,Php,Symfony,elasticsearch,Configuration,Yaml" />

Php 弹性搜索指数得分

Php 弹性搜索指数得分,php,symfony,elasticsearch,configuration,yaml,Php,Symfony,elasticsearch,Configuration,Yaml,我注意到表中的对象越多,按关键字搜索时相关性越大。例如,有两个实体,服务和新闻,服务的标题是“删除勾号”,新闻的标题是“手动删除”,我总共有1000个服务和50个新闻,如果我搜索“删除”这个词,那么服务的相关性是1200,新闻的相关性是200,如何设置ElasticSearchBundle,使元素的数量在插入过程中不起作用?我认为您不想考虑相关性计算,您可能希望同时禁用tf idf TF-IDF考虑了单词出现的次数 看看哪些可能是您正在寻找的,哪些可以利用,以便不考虑相关性计算 下面是如何使用这

我注意到表中的对象越多,按关键字搜索时相关性越大。例如,有两个实体,服务和新闻,服务的标题是“删除勾号”,新闻的标题是“手动删除”,我总共有1000个服务和50个新闻,如果我搜索“删除”这个词,那么服务的相关性是1200,新闻的相关性是200,如何设置ElasticSearchBundle,使元素的数量在插入过程中不起作用?

我认为您不想考虑相关性计算,您可能希望同时禁用
tf idf

TF-IDF考虑了单词出现的次数

看看哪些可能是您正在寻找的,哪些可以利用,以便不考虑相关性计算

下面是如何使用这两种方法构造查询:

POST <your_index_name>/_search
{ 
   "query":{ 
      "constant_score":{ 
         "filter":{ 
            "query_string":{ 
               "query":"removal"
            }
         },
         "boost":1.2
      }
   }
}
POST/\u搜索
{ 
“查询”:{
“恒定分数”:{
“筛选器”:{
“查询字符串”:{
“查询”:“删除”
}
},
“促进”:1.2
}
}
}
请注意,当您执行上述查询时,所有文档的恒定分数均为1.2

请注意,如果您根本不在乎分数,最好使用简单的过滤查询,它将简单地充当布尔查询

其中提到:

筛选查询不计算相关性分数。加速 性能,Elasticsearch自动缓存常用过滤器 查询

在这里您还可以看到性能的附加优势

让我知道这是否有帮助

也许可以尝试“布尔相似性”而不是tf/idf,这里有一篇关于它的好文章:

布尔模型的评分函数比tf/idf简单得多。术语是否出现在文档中。所以你有两个可能的分数:每学期1分和0分。如果您的三个术语出现在一个文档中,则此文档的分数为3,这在某些情况下更容易使用

只需在文本字段中添加“相似性”:“布尔值”,即可实现此功能:

PUT test
{
  "mappings": {
    "doc" : {
      "properties" : {
        "content" : {
          "type" : "text",
          "similarity" : "boolean"
        }
      }
    }
  }
}

嘿@Artem,上面的答案有用吗。你还有什么要找的吗?