Как настроить POJO, чтобы индексировать целочисленное значение как текст вместо целого числа? - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь загрузить данные в apache с помощью кода. Будучи относительно новым для этого, я написал следующий код для загрузки данных, но когда я вижу данные в solr, он индексирует целочисленные значения для целого числа, что он должен делать по умолчанию, и я хочу, чтобы он был проиндексирован как текст. Как я могу сделать то же самое?

public class ARHts {

    @Field("section")
    private String section;
    @Field("hts_no")
    private String hsNo;
    @Field("description")
    private String description;
}

здесь hts_no индексируется как целое число, я хочу, чтобы он был проиндексирован как текст.

1 Ответ

0 голосов
/ 16 марта 2020

Обычно вам придется делать это на стороне сервера (может отличаться в некоторых более крупных реализациях, я не уверен, что позволяет реализация spring-boot), определяя поле hts_no как строковое поле (или в виде текстового поля, если вы хотите выполнить также неточный поиск) перед началом индексации содержимого.

Вы можете использовать API схемы , чтобы определить поле и его тип:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field":{
     "name": "hts_no",
     "type": "string",
     "stored": true, 
     "indexed": true }
}' http://localhost:8983/solr/collectionname/schema

.. или вы можете использовать более старую schema.xml конфигурацию (помните, что это может быть скопировано в managed-schema).

<field name="hts_no" type="string" indexed="true" stored="true" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...