質問 > 管理機能 > 商品のキーワード検索に使用されているファイルはどれでしょうか |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
FXSTCevo |
投稿日時: 2020/8/3 15:37
対応状況: −−−
|
半人前 登録日: 2020/1/7 居住地: 投稿: 15 |
商品のキーワード検索に使用されているファイルはどれでしょうか [EC-CUBE] EC-CUBE4.0.3
[レンタルサーバ] さくらインターネット・スタンダード [OS] Windows10 64bit [PHP] 7.3.12 (CGI) [データベース] MySQL5.7 [WEBサーバ] FreeBSD nginx + Apache2.4系 [ブラウザ] Google Chrome バージョン: 79.0.3945.88(Official Build) [導入プラグインの有無] メールテンプレート登録プラグイン、関連商品プラグイン等 [カスタマイズの有無] https://a-zumi.net/eccube4-tag-search/の内容(半月程度異常なく稼働していました) 以前「商品検索の精度が著しく下がってしまいました」という内容で投稿させて頂いた者です。 (https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=24039&forum=10&post_id=98106#forumpost98106) フロント側でキーワードで商品を検索すると、そのキーワードを含む商品が例えば実際には30あるのに、検索結果としては5件しか出て来ない、というような不具合が出ています。 前回の投稿時にアドバイスを頂きましたが、結局自分では原因の特定も解決もできませんでした。 今回お聞きしたいのは、キーワードでの商品検索を行う際に、EC-CUBE内のどのファイルを使用しているのか(.phpのファイルなど)ということです。 ファイル名がわかれば以前のバックアップと現在のものを比較することができますので、解決に繋がるのではないかと思っています。 もしご存じの方がいらっしゃいましたらご教示頂ければ大変助かります。 宜しくお願い致します。 |
umebius |
投稿日時: 2020/8/3 16:06
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品のキーワード検索に使用されているファイルはどれでしょうか \Eccube\Repository\ProductRepositoryのgetQueryBuilderBySearchDataメソッドです。
カスタマイズは下記をそのまま導入されたということでしょうか? https://a-zumi.net/eccube4-tag-search/ だとするとタグテーブルをinnerJoinしているのでタグが設定されていない商品は引っかからないのではないですかね。 引用: // QueryBuilderに対してタグを検索対象するように設定 また、上の書き方だとヒットしたタグが複数あっても1つしか条件に含まれないかもしれません。
|
FXSTCevo |
投稿日時: 2020/8/6 15:56
対応状況: −−−
|
半人前 登録日: 2020/1/7 居住地: 投稿: 15 |
Re: 商品のキーワード検索に使用されているファイルはどれでしょうか umebius様、ご回答ありがとうございました。
ご教示頂いたProductRepository.phpは過去のバックアップと比較しても相違点がなく、検索精度低下の原因ではないことがわかりました。有難うございます。 また、カスタマイズにつきましては参考URLの通りにカスタム致しましたが、今回のトラブルを鑑み、この「タグを検索対象にする」というカスタマイズ自体をやめようということになりました。 現在\app\Customize\Repository 内にTagSearchCustomizer.phpが存在している状態ですが、このTagSearchCustomizer.phpをそのまま削除すると Warning: include(/…/vendor/composer/../../app/Customize/Repository/TagSearchCustomizer.php): failed to open stream: No such file or directory in /…/vendor/composer/ClassLoader.php on line 444 Warning: include(): Failed opening '/…/vendor/composer/../../app/Customize/Repository/TagSearchCustomizer.php' for inclusion (include_path='.:/usr/local/php/7.3/lib/php') in /…/vendor/composer/ClassLoader.php on line 444 Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "TagSearchCustomizer" from namespace "Customize\Repository". Did you forget a "use" statement for another namespace? in /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php:2920 Stack trace: #0 /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php(3122): ContainerGi4to0l\EccubeProdProjectContainer->getQueriesService() #1 /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php(3212): ContainerGi4to0l\EccubeProdProjectContainer->getProductRepositoryService() #2 /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php(2887): ContainerGi4to0l\EccubeProdProjectContainer->getEccubeExtensionService() #3 /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php(2962): ContainerGi4to0l\EccubeProdProjectContainer->getTwigServi in /…/var/cache/prod/ContainerGi4to0l/EccubeProdProjectContainer.php on line 2920 というようなエラーが出てしまいます。 削除するのに何か特別な手順が必要なのでしょうか・・・ 重ねての質問で申し訳ありません。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |