首页 \ 问答 \ Solr中的DoubleMetaphoneFilterFactory(DoubleMetaphoneFilterFactory in Solr)

Solr中的DoubleMetaphoneFilterFactory(DoubleMetaphoneFilterFactory in Solr)

我的目的是集成solr,以便从我的应用程序返回的结果准确,快速。 我正在使用doublemetaphonic在名称字段上执行搜索,以便使用模糊搜索(使用levenshtein距离算法)捕获声音相似的名称,然后获取超过一定百分比的结果。问题是当我将双重音调放在场上时键入名称然后我无法对该字段执行模糊搜索。

我的schema.xml中的示例配置如下所示:

<field name="sdn_names" type="doublemetaphonetic" indexed="true" stored="true"     termVectors="true"/>
<!--Defination of doublemetaphonic.-->
<fieldtype name="doublemetaphonetic" stored="false" indexed="true" class="solr.TextField" >
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
  </analyzer>
</fieldtype>

从我的solr用户界面尝试搜索sdn_names:abdul~0.50然后返回0结果,如果我将查询字符串更改为sdn_names:abdul,那么我在结果集中得到180条记录。 我曾经搜索解决方案,发现当我们使用双音节进行索引时,语音值与原始值不同,并且计算出的levenshtein距离在两个字符串之间非常大,因此结果为0.请提供给我任何链接或推荐的解决方案/阅读问题,因为我是solr的新手。 提前致谢


My purpose is to integrate solr so that the results returned from my application are accurate and fast. I am performing the search over name field using doublemetaphonic so that the names that sound similar are also captured then using the fuzzy search(That uses levenshtein distance algorithm) fetch the results above certain percentage.The problem is when I put the doublemetaphonic on the feild type name then I am unable to perform fuzzy search over that field.

The example configuration from my schema.xml looks like:

<field name="sdn_names" type="doublemetaphonetic" indexed="true" stored="true"     termVectors="true"/>
<!--Defination of doublemetaphonic.-->
<fieldtype name="doublemetaphonetic" stored="false" indexed="true" class="solr.TextField" >
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
  </analyzer>
</fieldtype>

From my solr UI when I tried to search sdn_names:abdul~0.50 then it returns 0 results and if I change my query String to sdn_names:abdul then i get 180 records in the resultset. I used to search over for the solution and found that when we use the doublemetaphonic for indexing then the phonetic value is different from the orignal value and the levenshtein distance calculated is very large between two strings so the results are 0. Please provide me any links or recommanded solution/reading for the problem as i am new to solr. Thanks in advance


原文:https://stackoverflow.com/questions/25243204
更新时间:2022-11-02 10:11

最满意答案

自定义切换按钮的大多数教程都是将图层列表设置为整个按钮的背景:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background"   
          android:drawable="@drawable/custom_toggle_bg" /> 
    <item android:id="@+android:id/toggle" 
          android:drawable="@drawable/custom_toggle_icon" /> 
</layer-list>

这会导致文本出现问题(这也是大多数教程不显示文本的原因)。 所以我做的是将custom_toggle_bg设置为background,将custom_toggle_icon为drawableTop,现在它可以正常工作。 这是固定的按钮:

<ToggleButton
        android:id="@+id/tb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="18dp"
        android:background="@drawable/custom_toggle_bg"
        android:drawableTop="@drawable/custom_toggle_icon"
        android:gravity="bottom | center_horizontal"
        android:textAppearance="@style/CustomTBText"
        android:textColor="@color/white"
        android:textOff="@string/tb_off"
        android:textOn="@string/tb_on" />

What most tutorials on custom toggle buttons do is to set a layer list as a background to the whole button:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background"   
          android:drawable="@drawable/custom_toggle_bg" /> 
    <item android:id="@+android:id/toggle" 
          android:drawable="@drawable/custom_toggle_icon" /> 
</layer-list>

This causes problems with the text (and that's also why most tutorials do not show text). So what I did is to set custom_toggle_bg as background and custom_toggle_icon as drawableTop, and now it works. This is the button fixed:

<ToggleButton
        android:id="@+id/tb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="18dp"
        android:background="@drawable/custom_toggle_bg"
        android:drawableTop="@drawable/custom_toggle_icon"
        android:gravity="bottom | center_horizontal"
        android:textAppearance="@style/CustomTBText"
        android:textColor="@color/white"
        android:textOff="@string/tb_off"
        android:textOn="@string/tb_on" />

相关问答

更多

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。