Apache Solr中的语言

时间:2013-07-17 22:00:28

标签: solr lucene

我正在寻找扩展当前Apache Solr(4.x)的解决方案,以便它可用于支持大量语言。我想采用多核方法,并设置了我的solr,使其具有英语核心和日语核心(对于初学者)。为了挑战,我给了n个.xml文件,其中包含solr将用于索引的数据。所以要明确:

我有n种语言,我有n个.xml文件(每种语言一个.xml)。每个.xml文件在标记方面都是相同的,只有原始文本不同。

我的问题是,我似乎无法弄清楚如何将english.xml文件严格地发送到英语核心,将japanese.xml文件严格地发送到日语核心,这样当我访问我的页面时:

www.example.com/ us /index.html,我正在查看english.xml索引结果,

www.example.com/ jp /index.html为我提供了japanese.xml索引结果。

实际上只需要一个模式,因为不同的语言.xml文件的标签结构相同,但我复制了所有模式,因为每个模式文件都将针对它的各自语言进行优化。

if(TLDR){

How would I independently post:
english.xml -> core-english
japanese.xml -> core-japanese


Or what would be a better approach that gives me
facet and search independent groups so that I can localize my pages?

}

显然我不希望有不同的solr实例运行。

1 个答案:

答案 0 :(得分:1)

本杰明,你的方法很完美。多核是一种很好的方式。

假设您的服务器位于IP 10.10.10.10,并且solr正在端口8983下运行,那么您的多核应该类似于:

10.10.10.10:8983/solr/us

10.10.10.10:8983/solr/jp

10.10.10.10:8983/solr/fr

......等等

要记住几件事:

  • 每个核心都有自己的conf文件夹
  • 在每个conf文件夹中,您将拥有solrconfig.xml,schema.xml,synonyms.txt以及特定于该国家/地区的其他配置文件
  • 每个国家/地区的字段定义都有所不同,在schema.xml
  • 中指定
  • 例如:标题字段为美国的fieldType text_general,而法国为text_fr

发布XML

这是您发布不同国家/地区的各种XML文件内容的方式:

<强> US

curl http://10.10.10.10:8983/solr/us/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">First Item</field></doc><doc><field name="id">2</field><field name="title">Second Item</field></doc></add>'

<强> FR:

curl http://10.10.10.10:8983/solr/fr/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">premier article</field></doc><doc><field name="id">2</field><field name="title">deuxième article</field></doc></add>'

<强> JP:

curl http://10.10.10.10:8983/solr/jp/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">最初の項目</field></doc><doc><field name="id">2</field><field name="title">番目の項目</field></doc></add>'

<强> SEARCHING

您可以通过查询核心来独立搜索每个国家/地区:

搜索美国的查询:

http://10.10.10.10:8983/solr/us/select?query=john

搜索JP的查询:

http://10.10.10.10:8983/solr/jp/select?query=ジョン