Trip.com goes international

  • Create one Solr field per language
  • Setup Solr multi-core
  • Separate index and configuration for each core so we can better customize it by language like stemming, stop words, fuzzy searches etc
  • Ability to run parallel searches between cores using the shards directive
  • Better scaling since we don’t need to duplicate fields and have everything in the same index
Solr dashboard core selector
  • Create one core per language
  • Use unique document IDs across all cores
  • Have a separate field with our internal ID to group results
  • Have a flag field to tell if a document is translated or not
{
"group" => true,
"group.field" => "item_id_ls",
"group.main" => true,
"group.sort" => "is_translation_bs desc",
"shards" => shards
}
[ path=select parameters={fq: ["type:Attraction", "item_id_ls:3000000033101"], start: 0, rows: 30, group: true, group.field: "item_id_ls", group.main: true, group.sort: "is_translation_bs desc", shards: "localhost:8982/solr/zh,localhost:8982/solr/collection1", q: "*:*"} ]
Example of a multi language Solr call

--

--

Brazilian expat working in tech in Silicon Valley. https://eduardosasso.co

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store