小编Cri*_*van的帖子

检查远程URL上是否存在图像

我正在为图书ISBN生成图像的动态网址.我需要一种可靠的PHP方法来检查图像是否实际存在于远程URL.我尝试了不同的PHP库,卷曲等各种方法,但没有一个很好用,其中一些非常慢.鉴于我需要为我的数据库中的每本书生成(并检查!)大约60个URL,这是一个巨大的等待时间.有线索吗?

php url curl image

50
推荐指数
4
解决办法
8万
查看次数

ElasticSearch post_filter和过滤的聚合的行为方式不同

我已经花了整整一个星期的时间没有解决它的希望.我正在关注关于电子商务搜索和分面过滤等的这篇(相当古老的)文章,它到目前为止工作得很好(搜索结果很棒,当在查询中应用过滤器时,聚合效果很好.我正在使用ElasticSearch 6.1.1.

但是因为我想让我的用户在facet上执行多项选择,所以我已经将过滤器移到了post_filter部分.这仍然有效,它正确地过滤结果并准确显示整个文档集的聚合计数.

StackOverflow上阅读这个问题之后,我意识到我必须使用"过滤"聚合和"特殊"聚合来执行一些疯狂的杂技,以相互修剪聚合以显示正确的计数并允许同时使用多个过滤器.我已经要求对这个问题做一些澄清,但还没有回复(这是一个老问题).

我一直在努力解决的问题是在嵌套字段上获取一组过滤聚合,其中所有方面都使用所有过滤器进行过滤.

我的计划是使用常规聚合(未过滤)并保持选定的构面聚合未经过滤(以便我可以选择多个条目),但过滤所有其他聚合与当前选定的构面,以便我只能显示我仍然可以使用的过滤器应用.

但是,如果我在文档上使用相同的过滤器(工作正常),并将过滤器放在过滤的聚合中,则它们无法按预期工作.这些都是错的.我知道在过滤器之前计算聚合,这就是我在我想要的聚合上复制过滤器的原因.

这是我的查询:

  "query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "fields": [
              "search_data.full_text_boosted^7",
              "search_data.full_text^2"
            ],
            "type": "cross_fields",
            "analyzer": "full_text_search_analyzer",
            "query": "some book"
          }
        }
      ]
    }
  }
Run Code Online (Sandbox Code Playgroud)

这里没什么特别的,它效果很好并且返回相关结果.

这是我的过滤器(在post_filter中):

"post_filter" : {
    "bool" : {
      "must" : [
      {
        "nested": {
          "path": "string_facets",
            "query": {
              "bool" : {
                "filter" : 
                [
                  { "term" : { "string_facets.facet_name" : "Cover colour" } }, …
Run Code Online (Sandbox Code Playgroud)

search filter facet elasticsearch

9
推荐指数
1
解决办法
662
查看次数

使用c#中的Value属性从Xml反序列化枚举

我正在尝试用C#编写ONIX for book导入工具.我开始使用Xsd2Code创建类,并获得了一个包含所有属性的大文件,经过一些调整后,在反序列化时不会产生任何错误.

我试图一次性将整个元素反序列化为内存中的一个大对象,然后用它做一些事情(比如将它保存到数据库中).

除了有很多属性之外,Xsd2Code生成类的方式有点奇怪,至少对我而言.

这是应该是Product对象的属性的类之一:

public partial class NotificationType
{
    public NotificationTypeRefname refname { get; set; }
    public NotificationTypeShortname shortname { get; set; }

    public SourceTypeCode sourcetype { get; set; }

    public List1 Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想请你注意这一行:

    public List1 Value { get; set; }
Run Code Online (Sandbox Code Playgroud)

"List1"是一个枚举,定义如下:

public enum List1
{
    [System.Xml.Serialization.XmlEnum("01")]
    Item01,

    [System.Xml.Serialization.XmlEnum("02")]
    Item02, etc...
Run Code Online (Sandbox Code Playgroud)

我的问题是在反序列化期间,所有字段都正确地反序列化除了枚举.

我尝试使用XmlEnum("NotificationType")等来装饰属性......没有!

这是我的反序列化代码:

var p = new Product();
XmlSerializer pserializer = new XmlSerializer(p.GetType());
object pDeserialized = pserializer.Deserialize(reader);
p = (Product) pDeserialized;
Run Code Online (Sandbox Code Playgroud)

这是XML中这个元素的样子: …

c# xml enums deserialization

6
推荐指数
1
解决办法
6688
查看次数

如何将SQL Server 2005中的DateTime字段增加一个月?

我在SQL Server中有一些DateTime字段用于某些产品到期(ExpirationDate).我需要手动递增所有项目,并将其到期时间设置为比当前字段中存储的日期晚一个月.我怎样才能做到这一点?

sql t-sql sql-server datetime sql-server-2005

2
推荐指数
2
解决办法
5569
查看次数

在函数参数中使用多个谓词?

我有一个类,用查询字符串参数构建一个URL,依此类推.该类有一个方法:Url()返回由类属性和另一个方法组成的完整url:UrlNew()允许传递谓词作为参数替换其中一个属性的值,然后返回修改后的URL .现在,我需要修改此函数以使用两个谓词的两个参数.我怎么做?我尝试将方法的参数修改为谓词列表,但我可能没有做正确的事情:

我的OLD UrlNew()方法看起来像这样:

public static string Url() (Action<LGUrlBuilder> predicate)
    {
        var instance = new LGUrlBuilder();
        if (predicate != null) predicate(instance);
        return instance.BuildUrl();
    }
Run Code Online (Sandbox Code Playgroud)

我的新UrlNew()方法如下所示:

public static string UrlNew(List<Action<LGUrlBuilder>> predicateList)
    {
        var instance = new LGUrlBuilder();
        if (predicateList != null && predicateList.Count > 0)
        {
            foreach (Action<LGUrlBuilder> predicate in predicateList)
            {
                if (predicate != null) predicate(instance);
            }
        }

        return instance.BuildUrl();
    }
Run Code Online (Sandbox Code Playgroud)

编译得很好但是当我运行它时,在ASPX中使用它会给我这个错误:

CS1660: Cannot convert lambda expression to type 'System.Collections.Generic.List<System.Action<public_site.Library.LG.LGUrlBuilder>>' because it is not a delegate type
Run Code Online (Sandbox Code Playgroud)

我是C#初学者,我确信我做的事情完全错了.任何建议都会有帮助.谢谢!

c# predicate list

1
推荐指数
1
解决办法
2533
查看次数