我试图弄清楚More like this query(ES 2.X)的工作原理。我用术语向量创建了以下索引。
PUT /test_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"doc": {
"properties": {
"text": {
"type": "string",
"term_vector": "yes"
}
}
}
}
}
PUT /test_index/doc/1
{
"text": ["Hello","World"]
}
PUT /test_index/doc/2
{
"text": ["This","is","me"]
}
PUT /test_index/doc/3
{
"text": ["Hello","World"]
}
PUT /test_index/doc/4
{
"text": ["Hello","World","World"]
}
为什么以下查询没有返回结果?在第二个查询中,我希望至少检索doc 3,其值与doc 1相同。
POST /test_index/doc/_search
{
"query": {
"more_like_this": {
"like": "Hello",
"min_term_freq": 1
}
}
}
POST /test_index/doc/_search
{
"query": {
"more_like_this": {
"fields": [
"text"
],
"like": [
{
"_index": "test_index",
"_type": "doc",
"_id": "1"
}
]
}
}
}
默认情况下min_doc_freq
为5,因此您的查询不起作用,因为您的索引中至少包含5个term
属性为黄色的文档。因此,min_doc_freq
在查询中设置为1,它应该可以工作。
{
"query": {
"more_like_this": {
"like": "Hello",
"min_term_freq": 1,
"min_doc_freq": 1
}
}
}
我对python还很陌生,我正在尝试创建21点。然而,当我试图打印出玩家的手牌时,我遇到了一些困难。 这是我的击球(抽牌)代码: 这是我打印卡片的代码: 我的代码所做的第一件事是为庄家和玩家抽两张牌,这运行得很好。然而,当玩家抽到一张牌后,它就会变得有点摇摆不定。输出如下所示: 当我抽到一张新牌时,这张牌不变,它保持我抽到的最后一张牌。然后,当我打印我的甲板,它打印我的旧甲板和我的新甲板。但是,分
问题内容: 我在使用Elasticsearch查询时遇到问题。我希望能够对结果进行排序,但是elasticsearch忽略了排序标签。这是我的查询: 但是,当我删除查询部分并仅发送排序标签时,它就可以工作。谁能指出正确的方法? 我还尝试了以下查询,这是我所拥有的完整查询: 设定值 对应 提前致谢! 问题答案: 文档中的 “标题” 字段是一个 分析的 字符串字段,也是一个多值字段,这意味着Elast
这是我索引中的文档(也可以有几个): 从逻辑上讲,我试图建立这个条件: 我的问题(来自kibana): 我正在与上述范围内的字段的范围查询与上面的其他字段进行比较。但没有得到任何命中!我想检索具有在给定和日期。 在这个领域很缺乏经验,不知道为什么不起作用!请帮助如何修复此查询以做到这一点?
我有一个字段,使用空白标记器和小写和asciifolding过滤器进行分析。我试图运行一个同时包含前缀和通配符的查询。我们正在用ElasticSearch取代一个使用纯Lucene的本土搜索引擎,类似的查询确实使用Lucene语法,但在ElasticSearch中不起作用。 例如,该查询将查找在“name”字段中有“Smith John”的所有文档。 如果我省略引号,我会得到结果,但这包括在同一文
问题内容: 我为此感到挣扎,我觉得应该可以,但是也许我在做一些愚蠢的事情。搜索: 返回Source1和Source2的数据。在下面添加术语搜索,我希望返回仅包含Source1s的第一次搜索的子集。使用第一个查询或单独运行时,不返回任何内容。 我知道很难看到这些文档,但是可以说“ Element.sourceSystem.name”存在并且可以使用,因为第一个搜索可以正常工作-非常感谢所有输入。 问