私は現在、FOQElasticaBundleを介して Symfony2 アプリケーションに Elasticsearch を実装しています。これまでのところ、「ストーリー」エンティティのさまざまなフィールドに適用されたブーストに基づいてうまく機能しています。構成は次のとおりです。
foq_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
website:
client: default
types:
story:
mappings:
title: { boost: 8 }
summary: { boost: 5 }
text: { boost: 3 }
author:
persistence:
driver: orm # orm, mongodb, propel are available
model: Acme\Bundle\StoryBundle\Entity\Story
provider:
query_builder_method: createIsActiveQueryBuilder
listener:
service: acme_story.search_index_listener
finder:
ただし、ストーリーの「published_at」の日付に基づいてブーストを適用して、昨日公開されたストーリーが6か月前に公開されたストーリーの前に結果に表示されるようにしたいと思います-古いストーリーのスコアがわずかに優れていたとしても(明らかに、これには少し調整が必要です)。これは可能ですか?
誰かが FOQElasticaBundle を使用してこれを達成する方法を教えてくれればそれは素晴らしいことですが、それ以外の場合は、elasticsearch でこれを直接達成する方法を教えていただければ幸いです。そうすれば、私は自分で動作を試して実装し、必要に応じてバンドルします。
ありがとう。