私たちは、sitecoreの一部としてテキスト検索にLuceneを使用しています。 サイト検索で停止語(a、an、the ...など)を無視する方法はありますか?sitecoreでストップワード
答えて
デフォルトでは、SitecoreはLucene標準アナライザー-Lucene.Net.Analysis.Standard.StandardAnalyzer
を使用します。これはweb.configファイルの/configuration/sitecore/search/analyzer
要素に定義されています。 StandardAnalyzer
クラスのコンストラクタの1つは、ストップワードを考慮するストリングの配列を受け入れます。デフォルトでは、それが含まストップワードのハードコードされたリストを使用しています、「時」「のように」「A」、「an」は、「及び」、「ある」、
、 は「、「で」が、 "into"、 "is"、 "it"、 "not"、 "not"、 "of"、 "on"、 "or"、 "for"、 "if" "they"、 "this"、 "to"、 "was"、 "will"、 "such"、 "that"、 "the"、 " "、 "then"、 "there" 」、 『
』とあなたは、この動作を無効にしたい場合は、私はあなたがStandardAnalyzer
を継承し、停止ワットを取るために、そのデフォルトコンストラクタをオーバーライドするべきだと思いますハードコードされた配列の代わりに別のソースからのords。さまざまなオプションがあり、テキストファイルから読み込むことさえできます。 web.configで標準クラスをあなたのものに置き換えることを忘れないでください。
詳細については、StandardAnalyzer
クラスの他のコンストラクタを参照してください。 .NET Reflectorはあなたの友人です。 Yansポストのため
ありがとう..あなたがコードの心を共有することができれば.. – rahul
どういう意味ですか?上の答えで私が参照しているコードはLucene.Net.dll(Sitecore/binフォルダ内)に置かれています。 .NET Reflectorを使用して、このサードパーティのライブラリを閲覧することができます。あなたのケースで私が提案するのは、新しいクラスを作成し、StandardAnalyzerから継承し、デフォルトのコンストラクタが別の方法(選択方法)でストップワードを検索するようにすることです。 StandardAnalyzerクラスの他のコンストラクタのコードには、この例があります。 –
ところで、Alex Shybaは、Sitecore&Luceneでの検索についての驚くばかりの概要ブログ記事を公開しました:http://sitecoreblog.alexshyba.com/2011/02/8-reasons-to-use-new-search-in-sitecore。 html。この投稿には、トピックに関するさまざまなリソースへの便利なリンクもあります。このエリアで前進する前に必ず確認してください! –
例:
public class CaseAnalyzer : Lucene.Net.Analysis.Standard.StandardAnalyzer
{
private static Hashtable stopWords = new Hashtable(); //{{"by","by"}}; <-- Makes "by" a stopword that will not be matched in analyzer
public CaseAnalyzer() : base(Lucene.Net.Util.Version.LUCENE_29, stopWords)
{
}
}
これはあなたが最後に
/configuration/sitecore/search/analyzer
下web.configファイルでアナライザ登録
<caseanalyzer type="EBF.Business.Search.Analyzers.CaseAnalyzer, EBF.Business, Version=1.0.0.0, Culture=neutral"/>
の例を登録する必要がありますthiのような検索設定でアナライザーを登録するだけですs
<Analyzer ref="search/caseanalyzer" />
- 1. ストップワード・アナライザ
- 2. ストップワードは
- 3. sentence tokenizerのストップワード
- 4. javaでのストップワードの削除
- 5. ストップワードをフィルタリングする
- 6. Sitecore TDSパッケージとSitecoreパッケージ
- 7. NLTKストップワード削除問題
- 8. Azure Search - 追加のストップワード
- 9. 削除するストップワードとstring.punctuation
- 10. ストップワードの文字列検索
- 11. ストップワードとMySQLのブール全文
- 12. NLP - なぜ "not"がストップワードですか?
- 13. MYSQLでストップワードをリセットするには?
- 14. WhitespaceAnalyzerでストップワードを使用する
- 15. Sitecore ServicesクライアントとSitecore WebサービスとSitecoreアイテムWeb API
- 16. english.txtファイルにストップワードを追加した後でも、ストップワードが更新されないのはなぜですか?
- 17. ディスクキャッシュのプラグインでSitecore
- 18. Sitecore Multilist with sitecore以外の検索データソース
- 19. sitecore admin url/sitecoreを変更する
- 20. Sitecore sitecoreデスクトップからWebデータベースを隠す
- 21. Sitecoreワークフローセキュリティ
- 22. Sitecoreカスタムフィールドリストボックス
- 23. sitecoreドキュメントマネージャボタン
- 24. Sitecoreイントラネットサイト
- 25. Sitecoreエラー:Sitecore設定を読み取れませんでした
- 26. Sphnix index_exact_wordsがストップワードを無視しない
- 27. 問題を取り除くストップワードPython
- 28. ストリングからストップワードを削除する
- 29. データフレームからストップワードを削除する
- 30. クエリSQl Server 2005全文検索ノイズ/ストップワード
このユースケースは何ですか?あなたが**帽子の**猫を検索する場合**あなたは本当にちょうどあなたが**猫の帽子**を入力したかのように検索したいですか?それとも、結果をフィルタリングするのですか? –