поиск в спящем режиме не индексируется из базы данных удаленного сервера Windows - PullRequest
0 голосов
/ 20 февраля 2019

Я увеличил количество подключений к удаленной базе данных sql server, к которой я подключаюсь, до 3000. Когда я развертываю войну с другого удаленного сервера Windows, приведенный ниже поисковый запрос гибернации не возвращает подходящих имен после входа в систему, но когдаЯ развернул эту же войну на сервере Windows, имеющем базу данных, при поиске в спящем режиме результаты поиска совпадают, имея логин на панели инструментов.Вот фрагменты

@Transactional
    public List<Books> finding(String searchTerm) { 

        org.apache.lucene.search.Query luceneQuery = qb.keyword().fuzzy().withEditDistanceUpTo(1).withPrefixLength(1).onFields("name")
                .matching(searchTerm).createQuery();

        javax.persistence.Query jpaQuery = fullTextEntityManager.createFullTextQuery(luceneQuery, Books.class);

        List<Books> bList = null;
        try {
            jpaQuery.setMaxResults(50);
            bList = jpaQuery.getResultList();
        } catch (NoResultException nre) {
            // do nothing

        }

        return bList;
    }

Есть ли что-то, что мне не хватает, чтобы я мог получить результаты поиска в спящем режиме с удаленного сервера

1 Ответ

0 голосов
/ 20 февраля 2019

Я предполагаю, что вы используете интеграцию Lucene (по умолчанию), а не Elasticsearch.

Индексы Lucene хранятся в файловой системе, поэтому ваши два сервера с двумя разными файловыми системами просто используютдве разные копии индексов: одна содержит проиндексированные документы, потому что вы инициировали индексацию на этом сервере, другая пуста, потому что вы этого не сделали.

Если предполагается, что два сервера работают независимо, с двумя разными базами данных (как рабочий сервер и сервер разработки), тогда вам просто нужно инициировать переиндексацию на обоих серверах.

С другой стороны, если два ваших сервера должны соединяться, читать и записывать в одну и ту же базу данных, выэффективно работают распределенное приложение.Необходимо выполнить определенные (и нетривиальные) шаги, чтобы иметь возможность синхронизировать индекс между распределенными серверами.См. этот ответ и этот раздел справочной документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...