当前位置: 首页 > 面试题库 >

elasticsearch tf-idf并忽略搜索中的字段长度范数

颜乐
2023-03-14
问题内容

我想在elasticsearch中执行搜索,而忽略tf-
idf搜索中的字段范数。您可以通过设置索引映射来忽略字段规范来完成此操作。但是,这似乎是通过更改索引来完成的,我只想修改搜索(我需要其他类型搜索的规范)。做到这一点的最佳方法是什么?我正在使用elasticsearch.js作为Elasticsearch的接口。


问题答案:

您不能基于每个搜索禁用规范,但是可以使用Multi Fields
API
在禁用规范的情况下添加其他字段。

PUT /my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "my_field": {
          "type": "string",
          "fields": {
            "no_norms": { 
              "type":  "string",
              "norms": {
                "enabled": false
              }
            }
          }
        }
      }
    }
  }
}

现在,您可以搜索my_field是否需要规范,是否需要规范my_field.no_norms。您必须重新索引数据,以便新字段可用于所有文档,只是将其添加到映射中不会更改退出文档的任何内容。



 类似资料:
  • 问题内容: 我在页面上添加了一个简单的排序。这个想法是搜索产品。这些产品是用西班牙语编写的,带有口音。例如:“Jamón”。 这是我的代码: 我唯一的问题是您必须输入“Jamón”才能找到产品“Jamón”。我想要的是更加灵活,如果用户键入“ Jamon”,则结果必须包含“Jamón”。 如何使用角度过滤器进行搜索而忘记重音符号?任何想法? 提前致谢。 问题答案: 您需要创建一个过滤器功能(或完整

  • 使用Umbraco v6,检查搜索(不是完整的Lucene查询)。这是一个拉丁/南美洲网站。我问过我的同事,他们如何在搜索/URL中键入标题(字母上的重音符号),他们都说他们没有,他们只使用“常规”字符(a-Z,a-Z)。 我知道在传递到Examine时如何从字符串中去掉特殊字符,但我需要另一种方法,如Examine从属性中删除特殊字符以匹配查询。我有许多“节点”的名称中有标题(这是我正在搜索的属

  • 考虑java中的此类(数据不是私有的或公共的): 我将这个类转换为kotlin 反编译后的代码是这样的: 在kotlin类中,dataPart2调用数据getter(检查反编译代码中的第2行),但我需要访问数据的实际值而不是getter,在kotlin中是否可以访问字段而不调用getter?我不想更改getter或方法名称。

  • 问题内容: 我有一些必须序列化为JSON的数据。我正在使用JSON.NET。我的代码结构与此类似: 问题是,我的JSON输出需要具有ON OR 或ON- 取决于所使用的字段(即不为null)。默认情况下,我的JSON如下所示: 我知道我可以使用,但这给了我如下所示的JSON: 我需要的是: 有没有简单的方法可以做到这一点? 问题答案: 是的,您需要使用。 但是由于结构是值类型,因此您需要将Fiel

  • 问题内容: 有人知道是否可以对SQL Server数据库中的列进行%LIKE%搜索,但可以忽略该列中的任何特殊字符吗? 因此,例如,如果我有一个名为“歌曲”的列,并且其中包含以下内容… 黑或白 直到布鲁克林不睡觉 船歌 爸爸别讲 如果用户搜索“直到布鲁克林之前都不会偷偷摸摸”,那么即使他们忘记了撇号,我也希望它返回一个匹配项。如果他们搜索“ SOUL”,我也希望它返回第四行。我确定你知道这个主意。

  • 问题内容: 我最近看到了很多用于在HTML页面中搜索和突出显示术语的库。但是,我看到的每个库都存在相同的问题,它们找不到部分用html标记封装的文本,并且/或者找不到包含&表示的特殊字符。 示例a: 搜索“测试”将找到第一个实例,但找不到第二个实例。 示例b: 搜索“lápices”或“ lapices”将不会产生结果。 有没有这样做的JS库,或者至少是一种避免这些障碍的方法? 提前致谢! 问题答