我想在elasticsearch中创建一个索引,文档中有一个字段作为array。Elasticsearch给出了错误-- 'reason': 'No type specified for field <field_name>'。
我的付出就像-"field_name": {"store": "false"}。我希望这个字段是string的数组类型。但是Elasticsearch不支持数组类型-
我正在使用Mongo聚合/筛选/排序,并使用JAVA进行限制。
我有下面的模型物体。CustomPOJO是我的数据库集合。
@Document(collation = "CustomPOJO")
public class CustomPOJO {
public List<KeyValueObject> valueList;
public String attribute1;
public String attribute2;
public CustomObject attribute3;
}
public class Custo
试图找出如何对elasticsearch结果排序,以便具有特定值的字段总是首先显示出来。在本例中,我希望在显示类别页时首先显示特定的SKU(我使用bool查询为类别页生成elasticsearch结果)。
如果我想用MySQL来完成这个任务,我会使用case语句:
ORDER BY CASE sku
WHEN 'sku1' then 1 WHEN 'sku2' then 2 WHEN 'sku3' then 3 ELSE 4 END
此查询将执行:
{
"sort" : [
{
我的ElasticSearch7.1索引中有超过3300万条记录,当我查询它时,我将结果大小限制在20。然而,ES仍然在内部对记录进行评分。但这对我来说并不重要,事实上,我想要任何20个结果。因此,例如,我不在乎一些结果是否更相关。
我的问题是,是否有办法消除这种行为,如果有,会否改善表现?
致以亲切的问候,
R.
场景:我的表中有一个char字段(名称:priority),其中的值存储为1、2、3和空白(“”)。
for each mytable no-lock by priority:
此查询按以下顺序排序:空白、1、2、3。
for each mytable no-lock by priority desc:
并且,此查询对记录进行如下排序:3、2、1和空白。
但我需要像这样对记录进行排序:1、2、3,然后为空。按升序排列,但跳过空格,从1开始。有没有办法在Progress中解决这个问题?
我需要从数据库中提取记录,并按字母顺序打印出来,这样它就会显示出来。
“#”记录
%@$ %%^£@Records
A‘记录
A recordA record
希望这是有意义的,我可以通过PHP做到这一点,但这将是相当复杂的,将需要大量的代码,有没有办法通过DB和几行PHP?
这需要取起条目的第一个字母,如果是字母表,它会把它放在正确的字母下,如果没有,它会把它放在'#‘下面。