日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Data Solr教程:配置

發布時間:2023/12/3 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Data Solr教程:配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我的Spring Data Solr教程的上一部分中,我們了解到Solr提供了一個類似REST的HTTP API,該API可用于向Solr索引添加信息并針對索引數據執行查詢。 問題在于,在開發環境中運行單獨的Solr實例有點麻煩。

但是,并非所有希望都因此而喪失,因為Solr提供了兩個可供我們在應用程序中使用的替代服務器實現。 這些實現如下所述:

  • 嵌入式Solr服務器直接連接到Solr核心。 我們可以將此服務器用于開發目的,但我們還必須記住
    不建議在生產環境中使用它 。 但是,在開發環境中,使用嵌入式Solr服務器仍然是可行的選擇。
  • HTTP Solr服務器通過使用HTTP連接到外部Solr服務器。 這是推薦使用Solr搜索服務器的方式,這就是為什么我們應該始終在生產環境中使用它的原因。

此博客文章描述了如何使用Maven獲得所需的依賴關系。 我們還將學習配置Spring Data Solr以在開發環境中使用嵌入式Solr服務器,在生產環境中使用HTTP Solr服務器。

注意 :這些博客條目提供了其他信息,可以幫助我們理解此博客條目中描述的概念:

  • 使用Maven運行Solr
  • Spring Data Solr教程:Solr簡介

讓我們開始吧。

使用Maven獲取所需的依賴關系

通過執行以下步驟,我們可以使用Maven獲得所需的依賴關系:

  • 將Spring Milestone Maven存儲庫添加到POM文件。
  • 將所需的依賴項添加到pom.xml文件。
  • 下面將更詳細地描述這兩個步驟。

    將Spring Milestone Maven存儲庫添加到POM文件

    通過將以下XML添加到pom.xml文件中,我們可以將Spring里程碑Maven存儲庫添加到我們的POM文件中:

    <repositories><repository><id>spring-milestone</id><name>Spring Milestone Maven Repository</name><url>http://repo.springsource.org/libs-milestone</url></repository> </repositories>

    將所需依賴項添加到POM文件

    我們可以按照以下步驟將所需的依賴項添加到POM文件:

  • 將Spring Data Solr依賴性(版本1.0.0.RC1)添加到POM文件的依賴性部分。
  • 將Solr核心依賴關系(版本4.1.0)添加到POM文件的依賴關系部分,并排除SLF4J JDK14綁定。 因為嵌入式Solr服務器需要Solr核心,所以如果我們不使用嵌入式Solr服務器,則可以跳過此步驟。
  • 我們可以通過將以下XML添加到POM文件的“依賴關系”部分來完成這些步驟:

    <!-- Spring Data Solr --> <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-solr</artifactId><version>1.0.0.RC1</version> </dependency><!-- Required by embedded solr server --> <dependency><groupId>org.apache.solr</groupId><artifactId>solr-core</artifactId><version>4.1.0</version><exclusions><exclusion><artifactId>slf4j-jdk14</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions> </dependency>

    配置Spring Data Solr

    本節描述了我們如何配置Spring Data Solr以在開發和生產環境中使用不同的Solr服務器。 我們將在開發環境中使用嵌入式Solr服務器,在生產環境中使用HTTP Solr服務器。

    我們可以按照以下步驟配置Spring Data Solr:

  • 創建一個屬性文件。
  • 配置嵌入式Solr服務器。
  • 配置HTTP Solr服務器。
  • 設置活動bean定義概要文件。
  • 在以下小節中將更詳細地描述這些步驟。

    創建屬性文件

    我們的屬性文件的名稱為application.properties ,我們將使用它來配置兩個屬性,如下所述:

    • solr.server.url屬性指定使用的Solr服務器的URL。 此屬性的值用于配置在生產環境中使用的HTTP Solr服務器。
    • solr.solr.home配置Solr的主目錄。 此屬性的值用于配置開發環境中使用的嵌入式Solr服務器的主目錄。

    application.properties文件的內容如下所示:

    solr.server.url=http://localhost:8983/solr/ solr.solr.home=

    配置嵌入式Solr服務器

    本小節描述了如何在開發環境中配置Spring Data Solr以使用嵌入式Solr服務器。

    Java配置

    我們可以按照以下步驟創建一個配置類來配置嵌入式Solr服務器:

  • 創建一個名為EmbeddedSolrContext的類,并使用@Configuration注釋對該類進行注釋。
  • 通過使用@EnableSolrRepositories批注注釋該類并配置我們的Solr信息庫的根軟件包,來啟用Spring Data Solr信息庫。
  • 用@Profile注釋注釋創建的類,并將其值設置為'dev'。 這意味著除非激活了“ dev”配置文件,否則將忽略此配置類。
  • 用@PropertySource批注注釋該類,并將其值設置為'classpath:application.properties'。 這將配置屬性文件的位置,并向Spring的Environment添加一個PropertySource 。
  • 在類中添加一個Environment字段,并使用@Resource注釋對該字段進行注釋。 注入的環境用于訪問我們添加到屬性文件中的屬性。
  • 創建一個名為solrServerFactoryBean()方法和注釋這種方法與@Bean注解。 此方法的實現創建一個新的EmbeddedSolrServerFactoryBean對象,設置Solr home的值并返回創建的對象。
  • 創建一個名為solrTemplate()方法和注釋這種方法與@Bean注解。 這種方法的實現創建一個新的SolrTemplate對象,并將所使用的SolrServer執行作為構造器參數。
  • EmbeddedSolrContext類的源代碼如下所示:

    import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.core.env.Environment; import org.springframework.data.solr.core.SolrTemplate; import org.springframework.data.solr.repository.config.EnableSolrRepositories; import org.springframework.data.solr.server.support.EmbeddedSolrServerFactoryBean;import javax.annotation.Resource;@Configuration @EnableSolrRepositories("net.petrikainulainen.spring.datasolr.todo.repository.solr") @Profile("dev") @PropertySource("classpath:application.properties") public class EmbeddedSolrContext {@Resourceprivate Environment environment;@Beanpublic EmbeddedSolrServerFactoryBean solrServerFactoryBean() {EmbeddedSolrServerFactoryBean factory = new EmbeddedSolrServerFactoryBean();factory.setSolrHome(environment.getRequiredProperty("solr.solr.home"));return factory;}@Beanpublic SolrTemplate solrTemplate() throws Exception {return new SolrTemplate(solrServerFactoryBean().getObject());} }

    XML配置

    通過執行以下步驟,我們可以為嵌入式Solr服務器創建XML配置文件:

  • 通過使用上下文名稱空間的property-placeholder元素配置使用的屬性文件。
  • 啟用S??olr存儲庫并使用solr名稱空間的repositories元素配置我們的Solr存儲庫的基本軟件包。
  • 為開發概要文件創建一個bean配置。
  • 通過使用solr名稱空間的Embedded-solr-server元素配置嵌入式Solr服務器Bean。 設置Solr主頁的值。
  • 配置Solr模板bean。 將配置的嵌入式Solr服務器bean設置為構造函數參數。
  • exampleApplicationContext-solr.xml文件的內容如下所示:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:solr="http://www.springframework.org/schema/data/solr"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/data/solr http://www.springframework.org/schema/data/solr/spring-solr.xsd"><context:property-placeholder location="classpath:application.properties"/><!-- Enable Solr repositories and configure repository base package --><solr:repositories base-package="net.petrikainulainen.spring.datasolr.todo.repository.solr"/><!-- Bean definitions for the dev profile --><beans profile="dev"><!-- Configures embedded Solr server --><solr:embedded-solr-server id="solrServer" solrHome="${solr.solr.home}"/><!-- Configures Solr template --><bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate"><constructor-arg index="0" ref="solrServer"/></bean></beans><!-- Bean definitions for the prod profile are omitted --> </beans>

    配置Http Solr服務器

    本小節描述了如何配置Spring Data Solr以在生產環境中使用HTTP Solr服務器。

    Java配置

    我們可以按照以下步驟創建一個配置類來配置HTTP Solr服務器:

  • 創建一個名為HttpSolrContext的類,并使用@Configuration注釋對該類進行注釋。
  • 通過使用@EnableSolrRepositories批注注釋該類并配置我們的Solr信息庫的根軟件包,來啟用Spring Data Solr信息庫。
  • 用@Profile注釋注釋創建的類,并將其值設置為'prod'。 這意味著除非激活了“ prod”配置文件,否則將忽略此配置類。
  • 用@PropertySource批注注釋該類,并將其值設置為'classpath:application.properties'。 這將配置屬性文件的位置,并向Spring的Environment添加一個PropertySource 。
  • 在類中添加一個Environment字段,并使用@Resource注釋對該字段進行注釋。 注入的環境用于訪問我們添加到屬性文件中的屬性。
  • 創建一個名為solrServerFactoryBean()方法和注釋這種方法與@Bean注解。 此方法的實現創建一個新的HttpSolrServerFactoryBean對象,設置Solr服務器url的值并返回創建的對象。
  • 創建一個名為solrTemplate()方法和注釋這種方法與@Bean注解。 這種方法的實現創建一個新的SolrTemplate對象,并將所使用的SolrServer執行作為構造器參數。
  • HttpSolrContext類的源代碼如下所示:

    import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.core.env.Environment; import org.springframework.data.solr.core.SolrTemplate; import org.springframework.data.solr.repository.config.EnableSolrRepositories; import org.springframework.data.solr.server.support.HttpSolrServerFactoryBean;import javax.annotation.Resource;@Configuration @EnableSolrRepositories("net.petrikainulainen.spring.datasolr.todo.repository.solr") @Profile("prod") @PropertySource("classpath:application.properties") public class HttpSolrContext {@Resourceprivate Environment environment;@Beanpublic HttpSolrServerFactoryBean solrServerFactoryBean() {HttpSolrServerFactoryBean factory = new HttpSolrServerFactoryBean();factory.setUrl(environment.getRequiredProperty("solr.server.url"));return factory;}@Beanpublic SolrTemplate solrTemplate() throws Exception {return new SolrTemplate(solrServerFactoryBean().getObject());} }

    XML配置

    通過執行以下步驟,我們可以為HTTP Solr服務器創建XML配置文件:

  • 通過使用上下文名稱空間的property-placeholder元素配置使用的屬性文件。
  • 啟用S??olr存儲庫并使用solr名稱空間的repositories元素配置我們的Solr存儲庫的基本軟件包。
  • 為生產概要文件創建一個bean配置。
  • 使用solr名稱空間的solr-server元素配置HTTP Solr服務器Bean。 設置Solr服務器的URL。
  • 配置Solr模板bean。 將配置的HTTP Solr服務器bean設置為構造函數參數。
  • exampleApplicationContext-solr.xml文件的內容如下所示:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:solr="http://www.springframework.org/schema/data/solr"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/data/solr http://www.springframework.org/schema/data/solr/spring-solr.xsd"><context:property-placeholder location="classpath:application.properties"/><!-- Enable Solr repositories and configure repository base package --><solr:repositories base-package="net.petrikainulainen.spring.datasolr.todo.repository.solr"/><!-- Bean definitions for the dev profile are omitted --><!-- Bean definitions for the prod profile --><beans profile="prod"><!-- Configures HTTP Solr server --><solr:solr-server id="solrServer" url="${solr.server.url}"/><!-- Configures Solr template --><bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate"><constructor-arg index="0" ref="solrServer"/></bean></beans> </beans>

    設置活動Bean定義配置文件

    我們可以通過設置spring.profiles.active系統變量的值來選擇活動bean定義概要文件。 下面描述了該系統變量的允許值(在示例應用程序的上下文中):

    • 通過將spring.profiles.active系統變量的值設置為'dev',我們可以配置我們的應用程序使其在開發配置文件中運行。
    • 當我們想要配置我們的應用程序以在生產配置文件中運行時,我們必須將spring.profiles.active系統變量的設置為'prod'。

    通過執行以下步驟,我們可以將示例應用程序配置為支持兩個概要文件:

  • 將所需的配置文件添加到POM文件。
  • 為系統屬性創建特定于概要文件的屬性文件。
  • 配置Jetty Maven插件。
  • 下面將更詳細地描述這些步驟。

    將所需的配置文件添加到POM文件

    我們可以按照以下步驟將所需的配置文件添加到我們的Maven構建中:

  • 創建開發環境的配置文件。 將此配置文件的ID設置為“ dev”,并將build.profile.id屬性的值設置為“ dev”。
  • 為生產環境創建配置文件。 將此配置文件的ID設置為“ prod”,并將build.profile.id屬性的值設置為“ prod”。
  • 我們的Maven配置文件的配置如下所示:

    <profiles><profile><id>dev</id><properties><build.profile.id>dev</build.profile.id></properties></profile><profile><id>prod</id><properties><build.profile.id>prod</build.profile.id></properties></profile> </profiles>

    為系統屬性創建特定于配置文件的屬性文件

    特定于個人檔案的屬性文件位于個人檔案目錄的子目錄中。 每個子目錄的名稱都與pom.xml文件中配置的build.profile.id屬性的值匹配。

    我們可以按照以下步驟為系統屬性創建特定于概要文件的屬性文件:

  • 在profiles / dev目錄中創建一個名為system.properties的屬性文件。 此屬性文件包含開發配置文件的系統屬性。
  • 在profiles / prod目錄中創建一個名為system.properties的屬性文件。 此屬性文件包含生產概要文件的系統屬性。
  • 用于配置開發概要文件的系統屬性的屬性文件的內容如下所示:

    spring.profiles.active=dev

    用于配置生產概要文件的系統屬性的屬性文件的內容如下所示:

    spring.profiles.active=prod

    配置Jetty Maven插件

    我們可以按照以下步驟配置Jetty Maven插件 :

  • 將Jetty Maven插件的插件聲明添加到我們Pom文件的插件部分。
  • 配置Jetty Maven插件的stopKey和stopPort。
  • 配置包含使用的系統屬性的屬性文件的位置。
  • Jetty Maven插件的配置如下所示:

    <plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>8.1.5.v20120716</version><configuration><stopKey>todostop</stopKey><stopPort>9999</stopPort><systemPropertiesFile>${project.basedir}/profiles/${build.profile.id}/system.properties</systemPropertiesFile></configuration></plugin>

    摘要

    現在,我們已經使用Maven成功地獲得了必需的依賴關系,并配置了Spring Data Solr。 這篇博客文章教會了我們四件事:

    • 我們學會了使用Maven獲得所需的依賴關系。
    • 我們知道我們僅應在開發環境中使用嵌入式Solr服務器,并了解了如何配置Spring Data Solr以使用它。
    • 我們了解到,我們應該始終在生產環境中使用HTTP Solr服務器,并且知道如何配置Spring Data Solr以使用它。
    • 我們知道如何使用Spring Framework的bean定義配置文件為開發和生產環境創建不同的配置。

    我的Spring Data Solr教程的下一部分描述了如何向Solr索引添加新文檔,如何更新現有文檔的信息以及從Solr索引刪除文檔。

    PS。 Github上提供了此博客條目的示例應用程序。

    參考: Spring Data Solr教程: Petri Kainulainen博客上的JCG合作伙伴 Petri Kainulainen進行的配置 。

    翻譯自: https://www.javacodegeeks.com/2013/05/spring-data-solr-tutorial-configuration.html

    總結

    以上是生活随笔為你收集整理的Spring Data Solr教程:配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。