我需要/想要在全球范围内定义我的自定义分析仪.因此我根据这个答案编辑了ES(elasticsearch.yml)的配置文件:我可以自定义弹性搜索以使用我自己的停止词列表吗?相关条目是
index.analysis.analyzer.angram:
type: custom
tokenizer: standard
filter: standard, lowercase, fngram
index.analysis.filter.fngram:
type: nGram
min_gram: 2
max_gram: 10
Run Code Online (Sandbox Code Playgroud)
但是当我试图调用时,curl -XGET 'localhost:9200/_analyze?analyzer=angram' -d 'this is a test'我得到了一个ElasticSearchIllegalARgumentException[failed to find analyzer [angram]].
配置错了吗?(虽然在启动时读取配置时遇到错误,我希望ES无法启动)
如何在全球范围内正确定义分析仪?
编辑: 我使用的是0.90.0版本
我想在一个存储库中拥有多个二进制文件,但也通过选项设置版本ldflags。
如果存储库中只有一个二进制文件,我没有问题,它可以工作,但是对于多个二进制文件的新结构,它似乎不起作用。
我在github上建立了一个简单的项目。
结构简单
cmd/
- server/main.go
- service/main.go
libcommon/
- version.go
- ...
go.mod
Makefile
Run Code Online (Sandbox Code Playgroud)
版本.go
package libcommon
var (
Version = "dev"
Build = "now"
)
Run Code Online (Sandbox Code Playgroud)
生成文件
BUILDDIR = bin
VERSION := $(shell git describe --tags --always --dirty)
BUILD := $(shell date +%Y-%m-%d\ %H:%M)
LDFLAGS=-ldflags="-w -s -X 'libcommon.Version=${VERSION}' -X 'libcommon.Build=${BUILD}'"
go build ${LDFLAGS} -o $(BUILDDIR)/ ./...
Run Code Online (Sandbox Code Playgroud)
我调用make install并将二进制文件放入bin/目录中,但是当我运行它时,它只打印出默认值,而不是我假设的值。
关于如何在此布局中使用 ldflags 设置版本的任何想法?
提前致谢。
我正在使用Cassandra 2.1.2和相应的DataStax Java驱动程序以及DataStax提供的Object映射.
下表定义:
CREATE TABLE IF NOT EXISTS ses.tim (id text PRIMARY KEY, start bigint, cid int);
Run Code Online (Sandbox Code Playgroud)
映射:
@Table(keyspace = "ses", name = "tim")
class MyObj {
@PartitionKey
private String id;
private Long start;
private int cid;
}
Run Code Online (Sandbox Code Playgroud)
访问者
@Accessor
interface MyAccessor {
@Query("SELECT * FROM ses.tim WHERE id = :iid")
MyObj get(@Param("iid") String id);
@Query(SELECT * FROM ses.tim WHERE start <= :sstart")
Result<MyObj> get(@Param("sstart") long start);
}
Run Code Online (Sandbox Code Playgroud)
如访问者中所示,我想做一个返回"start"小于或等于特定值的所有内容的查询.
有了这个表的定义,根本不可能.因此我尝试创建二级索引:
CREATE INDEX IF NOT EXISTS myindex ON ses.tim (start); …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在Mac(Sierra)上提供多个协议版本的方法。
在Windows上,我的.exe文件位于路径中,而文件名包含该版本。
在Mac上,我发现(带有brew)版本2.5、2.6和3.1。如果我想同时拥有2.5和2.6版本,我将如何实现?
谢谢