2012-02-25 4 views
2

私は問題があり、Googleはそれほど手助けしていません。 ColdFusion(9)でSolrインデックスを検索しながらHTMLを無視する方法を見つけようとしています。CFSearch + Solr:検索でHTMLを無視する

たとえば、microsoftを検索してインデックスにMicrosoft© makes Windows®が含まれている場合、実際の結果を表示するのではなく、「Microsoft©Windows®」を検索するよう求められます。

以下に示すように、文字列をcfsearchの基準プロパティに渡していますが、これを行うことで(私が考えている)「汚れた」結果が生成されます。

<cfsearch 
     collection="mycollection" 
     criteria="microsoft" 
     name="results" 
     maxrows="100" 
     suggestions="always" 
     contexthighlightbegin="<strong>" 
     contextHighlightEnd="</strong>" 
     contextPassages="3" 
     /> 

私はSolr's query syntaxのドキュメントを見てきたが、私はこの問題を回避する方法で私に飛び出し何も表示されません。

インデックスに「フラット」バージョンのテキストを表示するか、&copy;/&reg;/&trade;などのHTML文字列を避ける方法がありますか?

私は提案があります。

- ブライアン。

+0

私はhttp://www.corporatezen.com/2013/11/updating-solr-engine-coldfusion/に従ってSolr 3.4を使用する必要があるCF10を使用しています。私は ''を ''に追加しましたが、検索結果はまだHTMLを返します。どんな考え? – Henry

答えて

1

:この質問のための

解決策ではなく、インデックス内のHTMLを回避しようとするよりも、インデックスの別の方法を使用することでした。私は、新しいフィールドを作成したデータベース内

index_searchと呼ばれ、自分のアプリケーション内で私のinsertメソッドで、私は特別な(ER)の文字を省略する正規表現を使用:"[^[:word:].[:space:]-]"

そこから、私はにindex_searchフィールドを通過しましたHTMLに包まれ、近くに単語やフレーズを検索する場合、またはこのメソッドが期待される出力を生成使用

<cfindex 
    collection="mycollection" 
    action="update" 
    body="name_search,html_description" 
    title="name_html" 
    key="UUID" 
    query="data"> 

cfindexの体とは、タイトルとしてHTMLの名前を使用しました。 IE:を検索すると、その中にMicrosoft©のすべての結果がリストされます。

3

検索に使用しているソルフィールドが文字列フィールドタイプで、テキストではないことを確認します(トークン化やその他のテキスト解析を許可します)。詳細については、this questionを参照してください。

実際にHTMLをストリッピングする際に問題が発生する場合は、フィールドタイプの設定にHTMLStripCharFilterFactoryを追加する必要があります。これは、インデックスフィールドからHTMLタグを取り除きます。同じ質問に直面するかもしれない人のため

+0

ありがとうMauricio。 あなたが投稿した記事から、ColdFusion + Solrでこれを行う(比較的)簡単な方法がないように見えるので、インデックス作成の前にHTMLを取り除くつもりだと思います。 – NotJustClarkKent

+0

HTMLStripCharFilterFactoryまたは他のcharFilterの唯一の問題は、これらがSolr 1.4で導入され、CF 9がデフォルトでSolr 1.3を実行することです。 CF 9.0.1でも、1.4より前のSolrリリースが実行されているようです。それは確かに可能なのでアップグレードできないと言っているわけではありません。ただ、それがCF 9上で実行されているものではありません。 –

+0

@DavidFaber:うわー、Solr 1.3は、今から3.5歳です。それは* Solr年で*たくさんです:) –

関連する問題