簡體   English   中英

休眠搜索未從遠程Windows Server數據庫建立索引

[英]hibernate search not indexing from remote windows server database

我將要連接的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;
    }

有什么我想讓我從遠程服務器獲取休眠搜索結果的東西嗎?

我將假設您使用的是Lucene集成(默認設置),而不是Elasticsearch集成。

Lucene索引存儲在文件系統上,因此具有兩個不同文件系統的兩個服務器僅使用索引的兩個不同副本:一個包含已索引的文檔,因為您在該服務器上觸發了索引,另一個則是空的,因為您沒有。

如果假設您的兩個服務器使用兩個不同的數據庫(例如生產服務器和開發服務器)獨立運行,則只需要在兩個服務器上觸發重新索引。

另一方面,如果應該將兩個服務器連接,讀取和寫入相同的數據庫,則說明您正在有效地運行分布式應用程序。 您需要采取特定(而非平凡)的步驟才能在分布式服務器之間同步索引。 請參閱此答案參考文檔的本節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM