0

検索には Drupal Apache Solr を使用しています。この中で、必要な単語の同義語を手動で含めることができる synonyms.text ファイルを見つけました。

しかし、私のアプリケーションには大量のデータがあるため、単語ごとに同義語を手動で含めるのは非常に難しいと思います。

私が達成したいことは、検索結果で次のようになります。

ユーザーがポテトの代わりに allu を検索すると、最初の結果としてポテトが表示されます。

別の例: ユーザーが「生のリンゴ」を検索すると、「生のリンゴ」は「リンゴ」の同義語であるため、「リンゴ」が最初のレコードとして表示されます。

しかし、問題は 100K レコードで、各レコードには 4 ~ 5 個の同義語があります。手動で入力することはできません。

もう 1 つの問題は、特定のレコードのシノニムを変更したい場合、手動で行う必要があり、これも時間がかかることです。

同義語を手動で入力する必要がないように、他のオプションがあるかどうかを知りたいですか?

4

2 に答える 2

1

IMO これは検索エンジンの最適化に近いです。また、シノニムを手動で管理するのに苦労するかもしれません。

同義語に対応するためにインドの電子小売サイトが行っていることに従ってください。たとえば、e リテール ストアは、買い物客が「バレエ」の発音や綴りを間違える傾向があるため、特定の製品のベリー シューズの名前を変更することで適応しています。ユーザーが実際に検索する前に、彼らはそれを予期していなかったでしょう。

そのため、ほとんど結果を返さない (そうでなければ顧客を満足させない) すべてのリクエストをログに記録します。インデックスに同義語のリストを維持します。そして、新しい製品を追加するときに、これらの類義語をキーワードに含めます。製品を追加するときに、すべての類義語をにx y z自動的に取得し、データ入力担当者にそれらから選択させます。xyz

'type':'synonym'
'terms':'ballet','belly'

'type':'synonym'
'terms':'potato','allu','aloo'

'type':'product'
'name':'home garden potato planter'
'keywords':'allu','aloo'

'type':'product'
'name':'aloo mutter fry mix'
'keywords':'potato','allu','cheese'
于 2012-07-12T05:46:32.497 に答える