小编aar*_*vin的帖子

ElasticSearch:将"not_analyzed"字段设置为"store"的影响:"是"?

假设我not_analyzed在映射中指定了字符串字段.如果我再添"store":"yes"加到映射,ElasticSearch会复制存储吗?我对not_analyzed字段的理解是它们不是通过分析器运行,按原样索引,但客户端能够匹配它.因此,如果某个字段都是not_analyzedstore:yes,这可能会导致ElasticSearch保留该字符串的两个副本.

我的问题:

  • 如果一个字符串字段存储为两个not_analyzedstore:yes,会不会有串的重复存储?

我希望这很清楚.谢谢!

elasticsearch

35
推荐指数
1
解决办法
2万
查看次数

Python中的非消息队列/简单长轮询(和Flask)

我正在寻找一个简单的(即,不是一个需要我设置一个单独的服务器来处理消息队列)的方法来对运行计算并生成图形的小型Web界面进行长轮询.这就是我的web界面需要做的事情:

  1. 用户在Web界面中请求图形/数据
  2. 服务器运行一些计算.
  3. 当服务器正在运行计算时,一个小容器会更新(可能通过AJAX/jQuery)计算进度(类似于你在打印中使用打印的那个(即打印'计算密度函数......'))
  4. 计算完成和图形显示给用户.

由于计算都在服务器端完成,我不确定如何轻松设置它.显然,我想设置一个REST API来处理轮询,这在Flask中很容易.但是,我不确定如何检索实际更新.显而易见的是,虽然这个目的很复杂,但解决方案是设置消息传递队列并进行一些长轮询.但是,我不确定这对于这么简单的事情是否正确.

这是我的问题:

  1. 有没有办法使用文件系统执行此操作?性能不是一个大问题.AJAX/jQuery可以从文件中查找消息吗?将进度保存到某些.json文件?
  2. 酸洗怎么样?(我真的不太了解酸洗,但也许我可以腌制消息字典,它可以通过处理轮询的API读取).
  3. 投票甚至是正确的方法吗?是否有更好或更常见的模式来处理这个问题?

我有一种感觉,我过于复杂,因为我知道这种事情在网络上很常见.我经常看到发生的事情,并且在进行某些计算时会运行一些"loading.gif"图像(例如,在Google Analytics中).

谢谢你的帮助!

python long-polling flask

25
推荐指数
2
解决办法
1万
查看次数

XMonad:dmenu在启动时没有启动/生成

XMonad的新手并且热爱它到目前为止.我有一个相当普通/常规的XMonad设置,我遇到dmenu问题.当我登录并点击时mod+p没有任何反应.如果我再打开一个终端和命中xmonad --restart,然后mod+p,dmenu将是工作.

我一定有问题xmonad.hs吗?我尝试了XMonad的非自定义设置,并且工作正常(即dmenu登录后正在工作).

我的问题:

  1. 我有什么问题xmonad.hs吗?
  2. dmenu除非我,为什么不行xmonad --restart
  3. 可能会失败,xmonad.start这会阻止dmenu在启动xmonad时正确加载?

这是我的文件(借用过度思考).:

xmonad.hs

import System.IO
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.SetWMName
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Util.Run(spawnPipe)
import XMonad.Hooks.ICCCMFocus

myWorkspaces = ["1", "2", "3", "4", "5", "6"] 

myManageHook = composeAll
  [ className =? "Gimp" --> doFloat
  , className =? "Vncviewer" --> doFloat
  ]

main = do
  xmproc <- spawnPipe "/usr/bin/xmobar …
Run Code Online (Sandbox Code Playgroud)

linux haskell xmonad ubuntu-12.04

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

从Haskell访问原始argv指针

是否可以argv从Haskell中访问原始指针main

我的用例是我想在应用程序启动后删除命令行参数,因此无法通过它们进行读取ps.有几种方法可以做到这一点,但都需要操纵原件argv.

如果我写一个C包装并hs_init从那里调用(之后在这里使用argvala ),我能够做到这一点,但是从Haskell做这个更好.

谢谢!

PS - 这个问题与副本不同,因为副本使用了一个prctl,据我所知,只允许你更改进程名称.此外,副本正在寻找"设置",argv[0]而我试图获得对argv用于调用程序的原始的可变引用.

haskell ffi

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

不能从上下文中推断(简单)类型类

我在一个非常简单的例子中得到一个错误,我无法弄清楚出了什么问题.我正在做的非常类似于memptyin Monoid,这是一个简单的版本(我包括我的量化类型,以防与问题有关):

data Field a = Field String
              | forall b. EsMappable b => ReferenceField String (a -> b)

class EsMappable a where
    fields :: [Field a]

toMapping :: (EsMappable a) => a -> String
toMapping a = go "" fields
  where go str [] = str                        
        go str (ReferenceField name _ : xs) = go (name ++ str) xs
        go str (Field name : xs) =go (name ++ str) xs
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Could not deduce (EsMappable t0) …
Run Code Online (Sandbox Code Playgroud)

haskell

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

Scalac无法推断出归纳建立的路径依赖型

我正在开发servant-serverScala 的端口.我们的想法是使用类型类分辨率来归纳地构建可以处理请求的函数.我遇到了一些我无法弄清楚的奇怪的推理问题.

object Servant {                                                                     

  class :>[Path, A]                                                                  

  trait HasServer[A] {                                                               
    type ServerT                                                                     

    def route(a: ServerT): String                                                    
  }                                                                                  

  implicit val unitServer = new HasServer[Unit] {                                    
    type ServerT = String                                                            

    def route(str: ServerT): String = str                                            
  }                                                                                  

  implicit def subServer[A, Sub](implicit sub: HasServer[Sub]) = new HasServer[A :> Sub] {
    type ServerT = A => sub.ServerT                                                  

    def route(handler: ServerT): String = "handler"                                  
  } 

}
Run Code Online (Sandbox Code Playgroud)

有了上述内容,以下内容无法编译:

val foo = implicitly[HasServer[Int :> Unit]]
implicitly[=:=[Int => String, foo.ServerT]]                                        
Run Code Online (Sandbox Code Playgroud)

错误是:

servant.scala:33: error: 
Cannot prove …
Run Code Online (Sandbox Code Playgroud)

scala implicit typeclass

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

为什么List [Int] .apply(1,2,3)在Scala中出错?

我是Scala的新手,来自python并试图围绕一些语法和约定.我很好奇为什么以下不起作用:

scala> val tmp = List[Int].apply(1,2,3)
<console>:7: error: missing arguments for method apply in object List;
follow this method with `_' if you want to treat it as a partially applied function
    val tmp = List[Int].apply(1,2,3)
Run Code Online (Sandbox Code Playgroud)

然而,当我执行以下操作时,我没有收到任何错误:

scala> val tmp = List.apply(1,2,3)
tmp: List[Int] = List(1,2,3)

scala> val tmp = List[Int](1,2,3)
tmp: List[Int] = List(1,2,3)
Run Code Online (Sandbox Code Playgroud)

为什么List[Int].apply()给我一个错误?

谢谢你的帮助!

scala

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

Scalaz:如何在常规scala列表中使用`traverseS`?

如果我有一个简单的scala List[A](即scala.collection.immutable.List),我有一些状态monad State[S,B].我想使用Scalaz的专业traverseSala:

val stuff: scala.collection.immutable.List[Int] = List(1,2,3)
val state: State[S,A]
stuff.traverseS(i => modify { ... })
Run Code Online (Sandbox Code Playgroud)

我需要导入什么才能转换scala.collection.immutable.List为Scalaz List?我找不到通过GitHub搜索,我无法让它尝试导入全权委托.也许我错过了一些明显的东西.

谢谢你的帮助.

scala scalaz

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