这似乎是一个非常简单的问题,但我从其他解决方案和网站尝试的所有东西都不起作用。我有三个不想被索引或查询的字段--:p_s、:gender和:part_of_speech--但是elasticsearch仍然从这些字段返回值,即使我没有指定它们应该被索引或查询。大约在一半的时候,说对索引说no,但他们没有指出这将发生在哪里。
术语控制器:
def search
@terms = Term.search(params[:query]).page(params[:page])
end
型号:
require 'elasticsearch/model'
class T
当我想在elasticsearch中索引文档时,会出现以下问题:
message [MapperParsingException[failed to parse]; nested: IllegalArgumentException[unknown field name [output], must be one of [input, weight, contexts]];]
我知道输出字段在版本5中从elasticsearch中删除,但是为什么呢?为了获得单一的输入结果,我必须做些什么?
我想在elasticsearch中创建一个索引,文档中有一个字段作为array。Elasticsearch给出了错误-- 'reason': 'No type specified for field <field_name>'。
我的付出就像-"field_name": {"store": "false"}。我希望这个字段是string的数组类型。但是Elasticsearch不支持数组类型-
我使用的是Elasticsearch,并且我有一个用Groovy编写的脚本字段。它需要将myField的值替换为某些值,但我希望让大多数值不变地传递。除了根本没有该字段的文档外,下面的脚本可以正常工作。如何将脚本字段值设置为空?
if (some criteria) {
return ...; // modified value
}
// This returns 0 if myField doesn't exist
return doc['myField'].value
我可以检查空条件,但我还没有找到返回空值的方法:
if (doc['myFiel
API文档说search(*args, **kwargs)有一个名为analyzer的参数。但是,下面的代码会引发异常:
RequestError:TransportError(400,“非法_参数_异常”,“请求/测试-索引/内容-字段/_search包含无法识别的参数:analyzer”)
from elasticsearch import Elasticsearch
from elasticsearch.client import IndicesClient
es = Elasticsearch()
res = es.search(index="test-index
我在elasticsearch中使用动态映射将json文件加载到elasticsearch中,如下所示:
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
def extract():
f = open('tmdb.json')
if f:
return json.loads(f.read())
movieDict = extract()
def index(movieDict={}):
for id, body in
我正在使用Spring Data ElasticSearch执行CRUD操作。缺省情况下,当使用@Document注释的POJO写入ElasticSearch索引时,索引字段名与POJO的Java属性名相同。如何配置不同的索引字段名称?例如,使用此文档POJO:
@Document(indexName = "areas", type = "area")
public class Area {
@Id
private String id;
private String countyName;
private String post