Выделите Elasticsearch 2x как писать? [Дубликат]

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
2
задан jamshid 31 January 2015 в 06:55
поделиться

1 ответ

Я думаю, вы ищете

client.Search<dynamic>(s => s
   .Index('my index name')
   .Type('my doc type name')
   .From(page*PageSize)
   .Size(PageSize)
   .Query(q => q
          .QueryString(qs => qs.Query('my query')))
   .Highlight(h => h
          .OnFields(f => f
                .OnField("*")
                .PreTags("<b style='color:black'>")
                .PostTags("</b>")
   )));

, потому что .OnAll() означает .OnField("_all").

Посмотрите

UPDATE: синтаксис инициализатора объекта (NEST 5.x)

var searchRequest = new SearchRequest
{
    Query = ..
    Highlight = new Highlight
    {
        PostTags = new[] {"<a>"},
        PreTags = new[] {"</a>"},
        Fields = new FluentDictionary<Field, IHighlightField>().Add("*", new HighlightField())
    }
};
5
ответ дан Rob 19 August 2018 в 03:39
поделиться
  • 1
    как вы это сделаете с помощью метода инициализатора объекта? – batmaci 8 August 2017 в 15:38
  • 2
    @batmaci проверяет мое обновление, надеюсь, что это поможет. – Rob 8 August 2017 в 18:06
  • 3
    Awsome. спасибо, что это работает, но быстрый вопрос, это возвращает почти для всех полей. например, у меня есть имяEN, nameDE в моем индексе, но в моем запросе я запрашиваю только имяEN, я также вижу nameDE в hightlights. не зависит от фактического запроса или интерпретируется как отдельный запрос? – batmaci 11 August 2017 в 13:17
Другие вопросы по тегам:

Похожие вопросы: