值不能为 null 或空. 参数名: value

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值不能为 null 或空. 参数名: value相关的知识,希望对你有一定的参考价值。

原因:设置错误造成。解决方法:

1.右键单击列名,选择其中的更改,然后单击。

2.单击之后,可以看到两边的列名是相同的。

3.在这里,我们选择StudentName列中最后一个允许值的复选标记为null。

4、CTRL+s保存,注意保存成功,没有小星号。

5、然后右键点击列表选择刷新,即可确认修改成功。

6.确保StudentName列中的Notnull变为null,这样就解决了问题。

参考技术A 你这个路径是程序在运行中把相对路径转换成为了绝对路径,是看你软件部署在哪里的路径,获取的值为空,这个是程序有问题,报了异常,没有进行处理追问

我这个是登陆出现的问题怎么解决

Elasticsearch:如何在 Elasticsearch 中搜索空值

根据 Elasticsearch 文档,无法索引或搜索空值 null。 当一个字段设置为 null(或空数组或空值数组)时,它被视为该字段没有值。

那么如何找到 product_name 为空(null)的文件呢?

选项 1:null_value 映射参数

你可以在配置索引映射时定义 null_value 参数。 它将允许你在索引文档时用指定值替换显式空值 null,以便它可以被索引和搜索。

让我们创建索引名称 products,其中包含值为 NULL 的 product_name 字段。

PUT products

  "mappings": 
    "properties": 
      "product_name":
        "type": "keyword",
        "null_value": "NULL"
      
    
  

让我们用 product_name 字段索引一些文档,该字段的值为 null 或空数组。

POST products/_doc/1

  "product_name": null,
  "company":"apple"

POST products/_doc/2

  "product_name": [],
  "company":"apple"

让我们查询并检查我们得到的结果:

POST products/_search

  "query": 
    "match": 
      "product_name": "NULL"
    
  

上面的搜索结果为:


  "took": 1009,
  "timed_out": false,
  "_shards": 
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  ,
  "hits": 
    "total": 
      "value": 1,
      "relation": "eq"
    ,
    "max_score": 0.2876821,
    "hits": [
      
        "_index": "products",
        "_id": "1",
        "_score": 0.2876821,
        "_source": 
          "product_name": null,
          "company": "apple"
        
      
    ]
  

什么??? 为什么 Elasticsearch 只返回一个文档而不返回第二个具有空数组的文档? 因为,

  • 一个空数组不包含明确的 null,因此不会被 null_value 替换。

此外,product_name 值仅作为 null 而不是作为在索引映射中设置的 NULL。 因为,

  • null_value 只影响数据的索引方式,它不会修改 _source 文档。

现在,当 product_name 为 null 或空数组时,如何将两个文档都放入结果中?

选项2:使用 MUST_NOT 查询

让我们定义没有 null_value 的索引映射和与上面相同的索引文档。

PUT products

  "mappings": 
    "properties": 
      "product_name":
        "type": "keyword"
      
    
  

现在你可以使用以下查询:

POST products/_search

  "query": 
    "bool": 
      "must_not": [
        
          "exists": 
            "field": "product_name"
          
        
      ]
    
  

上述查询的结果,它现在返回两个结果:


  "took": 1,
  "timed_out": false,
  "_shards": 
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  ,
  "hits": 
    "total": 
      "value": 2,
      "relation": "eq"
    ,
    "max_score": 0,
    "hits": [
      
        "_index": "products",
        "_id": "1",
        "_score": 0,
        "_source": 
          "product_name": null,
          "company": "apple"
        
      ,
      
        "_index": "products",
        "_id": "2",
        "_score": 0,
        "_source": 
          "product_name": [],
          "company": "apple"
        
      
    ]
  

将 must_not 与 exists 查询一起使用的优点:

  • 此选项 2 不依赖于字段的数据类型,无论字段的数据类型如何,它都会起作用,但选项 1 null_value 需要与字段的数据类型相同。 例如,长字段不能有字符串 null_value。
  • 选项 1 不适用于文本类型的字段,因为 Elasticsearch 不允许为文本类型的字段设置 null_value 参数。
  • 选项 2 也是单一且高效的解决方案,因为 1) 它不需要根据字段映射中定义的值添加 null 值的开销。2)索引大小也会变小,导致索引变少,搜索查询变快。

以上是关于值不能为 null 或空. 参数名: value的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:如何在 Elasticsearch 中搜索空值

Elasticsearch:如何在 Elasticsearch 中搜索空值

全家出现数据库配置值不能为null参数名connectionsting怎么解决

vs项目发布时提示类似Default-Web.config Connection String”参数不能为 Null 或空的报错问题

值不能为null.参数名: viewInfo,如何解决

值不能为null.参数名: viewInfo,如何解决